Files
MuHua-UIElements/Assets/ModuleCore/ModuleUI/ModuleUIPage/UITestPage.cs
T
MuHua-123 4cfefc8103 1
2025-07-16 18:04:05 +08:00

57 lines
1.4 KiB
C#

using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
using MuHua;
/// <summary>
/// 测试页面
/// </summary>
public class UITestPage : ModuleUIPage {
public VisualTreeAsset SlideButtonTemplate;
public UISlideButton<UIOption, Option> slideButton;
public override VisualElement Element => root;
public VisualElement SlideButton => Q<VisualElement>("SlideButton");
public void Awake() {
slideButton = new UISlideButton<UIOption, Option>(SlideButton, root, SlideButtonTemplate, (data, element) => new UIOption(data, element));
List<Option> options = new List<Option>();
options.Add(new Option());
options.Add(new Option());
options.Add(new Option());
options.Add(new Option());
slideButton.Create(options);
slideButton.Items[1].Select();
}
public void Update() {
slideButton.Update();
}
public class Option : DataSlideButton {
}
public class UIOption : ModuleUIItem<Option> {
public Button Button => Q<Button>("Button");
public UIOption(Option value, VisualElement element) : base(value, element) {
value.element = element;
Button.clicked += Select;
}
public override void SelectState() {
Button.EnableInClassList("slidebutton-button-s", true);
}
public override void DefaultState() {
Button.EnableInClassList("slidebutton-button-s", false);
}
}
}