修复BUG

This commit is contained in:
MuHua-123
2025-06-17 16:18:54 +08:00
parent 5e7fa2ef57
commit e14ba6d45f
71 changed files with 6471 additions and 214 deletions
@@ -8,7 +8,7 @@ namespace MuHua {
/// <summary>
/// UI项
/// </summary>
public abstract class ModuleUIItem<Data> : ModuleUIPanel {
public abstract class ModuleUIItem<Data> : ModuleUIPanel, IDisposable {
/// <summary> 选择事件 </summary>
public static event Action<Data> OnSelect;
/// <summary> 触发事件 </summary>
@@ -34,6 +34,6 @@ namespace MuHua {
/// <summary> 选中状态 </summary>
public virtual void SelectState() { }
/// <summary> 释放 </summary>
public virtual void Release() => OnSelect -= UIItem_OnSelect;
public virtual void Dispose() => OnSelect -= UIItem_OnSelect;
}
}
@@ -8,7 +8,7 @@ namespace MuHua {
/// <summary>
/// UI项容器
/// </summary>
public class ModuleUIItems<TItem, TData> : ModuleUIPanel where TItem : ModuleUIItem<TData> {
public class ModuleUIItems<TItem, TData> : ModuleUIPanel, IDisposable where TItem : ModuleUIItem<TData> {
public readonly VisualTreeAsset templateAsset;// 模板资源
public readonly Func<TData, VisualElement, TItem> generate;// 生成UI项的函数
@@ -22,14 +22,14 @@ namespace MuHua {
this.generate = generate;
}
/// <summary> 释放资源 </summary>
public void Release() {
public void Dispose() {
element.Clear();
uiItems.ForEach(obj => obj.Release());
uiItems.ForEach(obj => obj.Dispose());
uiItems = new List<TItem>();
}
/// <summary> 创建UI项 </summary>
public void Create(List<TData> datas) {
Release();
Dispose();
datas.ForEach(Create);
}
/// <summary> 创建UI项 </summary>