diff --git a/Packages/UITool/Runtime/ModuleCoreUI/ModuleUIItems.cs b/Packages/UITool/Runtime/ModuleCoreUI/ModuleUIItems.cs index 57d34d5..3464e06 100644 --- a/Packages/UITool/Runtime/ModuleCoreUI/ModuleUIItems.cs +++ b/Packages/UITool/Runtime/ModuleCoreUI/ModuleUIItems.cs @@ -8,12 +8,17 @@ namespace MuHua { /// /// UI项容器 /// - public class ModuleUIItems : ModuleUIPanel where Item : ModuleUIItem { + public class ModuleUIItems : ModuleUIPanel where T : ModuleUIItem { public readonly VisualTreeAsset templateAsset; - public readonly Func generate; - public List uiItems = new List(); + public readonly Func generate; + + public List uiItems = new List(); + + /// 数据操作 uiItems[index]; + /// UI容器 - public ModuleUIItems(VisualElement element, VisualTreeAsset templateAsset, Func generate) : base(element) { + public ModuleUIItems(VisualElement element, VisualTreeAsset templateAsset, Func generate) : base(element) { this.templateAsset = templateAsset; this.generate = generate; } @@ -21,7 +26,7 @@ namespace MuHua { public void Release() { element.Clear(); uiItems.ForEach(obj => obj.Release()); - uiItems = new List(); + uiItems = new List(); } /// 创建UI项 public void Create(List datas) { @@ -31,7 +36,7 @@ namespace MuHua { /// 创建UI项 public void Create(Data data) { VisualElement element = templateAsset.Instantiate(); - Item item = generate(data, element); + T item = generate(data, element); this.element.Add(item.element); uiItems.Add(item); } diff --git a/Packages/UITool/Runtime/ModuleCoreUI/ModuleUIPanel.cs b/Packages/UITool/Runtime/ModuleCoreUI/ModuleUIPanel.cs index 0e5ce6b..a4e6e99 100644 --- a/Packages/UITool/Runtime/ModuleCoreUI/ModuleUIPanel.cs +++ b/Packages/UITool/Runtime/ModuleCoreUI/ModuleUIPanel.cs @@ -7,10 +7,12 @@ namespace MuHua { /// /// UI控件 /// - public class ModuleUIPanel { + public class ModuleUIPanel { /// 绑定的元素 public readonly VisualElement element; /// UI控件 public ModuleUIPanel(VisualElement element) => this.element = element; + /// 查询UI元素 + public T Q(string name = null, string className = null) where T : VisualElement => element.Q(name, className); } } \ No newline at end of file