Merge branch 'main' of https://github.com/MuHua-123/MuHua-Core
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8b26950e50e4e4647a4d48ba0fde3f70
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UIElements;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI控件
|
||||||
|
/// </summary>
|
||||||
|
public class ModuleUIControl {
|
||||||
|
/// <summary> 核心模块 </summary>
|
||||||
|
protected virtual ModuleCore ModuleCore => ModuleCore.I;
|
||||||
|
/// <summary> 绑定的元素 </summary>
|
||||||
|
public readonly VisualElement element;
|
||||||
|
/// <summary> UI控件 </summary>
|
||||||
|
public ModuleUIControl(VisualElement element) => this.element = element;
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c0c97a0c4b232fb4595b8eaafc961a9c
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b12984c5e1e0c2848a7a6b14061f8858
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UIElements;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UI项
|
||||||
|
/// </summary>
|
||||||
|
public abstract class ModuleUIItem<Data> : ModuleUIControl {
|
||||||
|
/// <summary> 选择事件 </summary>
|
||||||
|
public static event Action<Data> OnSelect;
|
||||||
|
/// <summary> 触发事件 </summary>
|
||||||
|
public static void Select(Data data) => OnSelect?.Invoke(data);
|
||||||
|
/// <summary> 绑定的数据 </summary>
|
||||||
|
public readonly Data value;
|
||||||
|
/// <summary> UI项 </summary>
|
||||||
|
public ModuleUIItem(Data value, VisualElement element) : base(element) {
|
||||||
|
this.value = value;
|
||||||
|
OnSelect += UnitUIPanelItem_OnSelect;
|
||||||
|
}
|
||||||
|
/// <summary> 触发选择事件 </summary>
|
||||||
|
public virtual void Select() => OnSelect?.Invoke(value);
|
||||||
|
/// <summary> 侦听选择事件 </summary>
|
||||||
|
public virtual void UnitUIPanelItem_OnSelect(Data obj) {
|
||||||
|
if (value.Equals(obj)) { SelectState(); }
|
||||||
|
else { DefaultState(); }
|
||||||
|
}
|
||||||
|
/// <summary> 默认状态 </summary>
|
||||||
|
public virtual void DefaultState() { }
|
||||||
|
/// <summary> 选中状态 </summary>
|
||||||
|
public virtual void SelectState() { }
|
||||||
|
/// <summary> 释放 </summary>
|
||||||
|
public virtual void Release() => OnSelect -= UnitUIPanelItem_OnSelect;
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 58b0a0e9216e0b04eaedf110eeab367e
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Reference in New Issue
Block a user