完成UISlideButton测试用例

This commit is contained in:
MuHua-123
2026-07-15 14:55:53 +08:00
parent 4c5b91c530
commit 6891f43baa
10 changed files with 517 additions and 0 deletions
@@ -0,0 +1,48 @@
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;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 28e0d9425b52b0d4191cead2eeaf25be
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: