using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UIElements; namespace MuHua { /// /// 滚动列表 - 水平 /// public class UIScrollViewListH : UIScrollViewH where TItem : ModuleUIItem { /// UI项容器 public ModuleUIItems Items; /// 索引器 public TItem this[int index] { get => Items[index]; } /// 计数 public int Count { get => Items != null ? Items.Count : 0; } public UIScrollViewListH(VisualElement element, VisualElement canvas, VisualTreeAsset templateAsset, Func generate, UIDirection direction = UIDirection.FromLeftToRight) : base(element, canvas, direction) { Items = new ModuleUIItems(Container, templateAsset, generate); } public override void Dispose() { base.Dispose(); Items.Release(); } /// 释放资源 public virtual void Release() => Items.Release(); /// 创建UI项 public virtual void Create(List datas, bool isClear = true) => Items.Create(datas, isClear); /// 创建UI项 public virtual void Create(Data data, bool isClear = false) => Items.Create(data, isClear); /// 遍历 public virtual void ForEach(Action action) => Items.ForEach(action); /// 选择第一个 public virtual void SelectFirst() => Items.SelectFirst(); /// 选择最后一个 public virtual void SelectFinally() => Items.SelectFinally(); } }