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();
}
}