This commit is contained in:
MuHua-123
2025-01-08 18:02:44 +08:00
parent a08bd06617
commit 8f387837db
46 changed files with 5196 additions and 117 deletions
@@ -20,11 +20,13 @@ public abstract class ModuleUIPanel : MonoBehaviour {
/// <summary>
/// UI项
/// </summary>
public abstract class UIItem<Data, T> where T : UIItem<Data, T> {
public abstract class UIItem<Data> {
/// <summary> 选择事件 </summary>
public static event Action<Data> OnSelect;
/// <summary> 触发事件 </summary>
public static void Select(Data data) => OnSelect?.Invoke(data);
/// <summary> 核心模块 </summary>
protected virtual ModuleCore ModuleCore => ModuleCore.I;
/// <summary> 绑定的数据 </summary>
public readonly Data value;
/// <summary> 绑定的元素 </summary>
@@ -33,12 +35,12 @@ public abstract class UIItem<Data, T> where T : UIItem<Data, T> {
public UIItem(Data value, VisualElement element) {
this.value = value;
this.element = element;
OnSelect += UnitUIPanelItem_OnSelect;
OnSelect += UIItem_OnSelect;
}
/// <summary> 触发选择事件 </summary>
public virtual void Select() => OnSelect?.Invoke(value);
/// <summary> 侦听选择事件 </summary>
public virtual void UnitUIPanelItem_OnSelect(Data obj) {
public virtual void UIItem_OnSelect(Data obj) {
if (value.Equals(obj)) { SelectState(); }
else { DefaultState(); }
}
@@ -47,5 +49,5 @@ public abstract class UIItem<Data, T> where T : UIItem<Data, T> {
/// <summary> 选中状态 </summary>
public virtual void SelectState() { }
/// <summary> 释放 </summary>
public virtual void Release() => OnSelect -= UnitUIPanelItem_OnSelect;
}
public virtual void Release() => OnSelect -= UIItem_OnSelect;
}
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2c6f02c8edd5f1241b53b0c7e538e84a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: