49 lines
1.2 KiB
C#
49 lines
1.2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UIElements;
|
|
using MuHua;
|
|
|
|
public class UISlideButtonTest : MonoBehaviour {
|
|
/// <summary> 绑定文档 </summary>
|
|
public UIDocument document;
|
|
/// <summary> 模板 </summary>
|
|
public VisualTreeAsset templateAsset;
|
|
|
|
private UISlideButton<UIData, Data> slideButton;
|
|
|
|
/// <summary> 根目录文档 </summary>
|
|
public VisualElement Root => document.rootVisualElement;
|
|
|
|
public VisualElement SlideButton => Root.Q<VisualElement>("SlideButton");
|
|
|
|
public void Awake() {
|
|
slideButton = new UISlideButton<UIData, Data>(SlideButton, Root, templateAsset,
|
|
(data, element) => new UIData(data, element));
|
|
|
|
List<Data> datas = new List<Data>();
|
|
datas.Add(new Data { name = "匹配" });
|
|
datas.Add(new Data { name = "配置" });
|
|
datas.Add(new Data { name = "招募" });
|
|
|
|
slideButton.Create(datas);
|
|
}
|
|
public void Update() {
|
|
slideButton.Update();
|
|
}
|
|
|
|
public class Data : DataSlideButton {
|
|
public string name;
|
|
}
|
|
public class UIData : ModuleUIItem<Data> {
|
|
|
|
public Button Button => Q<Button>("Button");
|
|
|
|
public UIData(Data value, VisualElement element) : base(value, element) {
|
|
value.element = element;
|
|
Button.text = value.name;
|
|
Button.clicked += Select;
|
|
}
|
|
}
|
|
}
|