1
This commit is contained in:
@@ -8,22 +8,33 @@ namespace MuHua {
|
||||
/// <summary>
|
||||
/// 滚动列表
|
||||
/// </summary>
|
||||
public class UIScrollViewList<T, Data> : UIScrollView where T : ModuleUIItem<Data> {
|
||||
public class UIScrollViewList<TItem, Data> : UIScrollView where TItem : ModuleUIItem<Data> {
|
||||
/// <summary> UI项容器 </summary>
|
||||
public ModuleUIItems<TItem, Data> Items;
|
||||
|
||||
private ModuleUIItems<T, Data> Items;// UI项容器
|
||||
/// <summary> 索引器 </summary>
|
||||
public TItem this[int index] { get => Items[index]; }
|
||||
/// <summary> 计数 </summary>
|
||||
public int Count { get => Items != null ? Items.Count : 0; }
|
||||
|
||||
public UIScrollViewList(VisualElement element, VisualElement canvas, VisualTreeAsset templateAsset, Func<Data, VisualElement, T> generate) : base(element, canvas) {
|
||||
Items = new ModuleUIItems<T, Data>(Container, templateAsset, generate);
|
||||
public UIScrollViewList(VisualElement element, VisualElement canvas, VisualTreeAsset templateAsset, Func<Data, VisualElement, TItem> generate) : base(element, canvas) {
|
||||
Items = new ModuleUIItems<TItem, Data>(Container, templateAsset, generate);
|
||||
}
|
||||
public override void Dispose() {
|
||||
base.Dispose();
|
||||
Items.Dispose();
|
||||
}
|
||||
/// <summary> 释放资源 </summary>
|
||||
public void Release() => Items.Dispose();
|
||||
public virtual void Release() => Items.Dispose();
|
||||
/// <summary> 创建UI项 </summary>
|
||||
public void Create(List<Data> datas) => Items.Create(datas);
|
||||
public virtual void Create(List<Data> datas, bool isClear = true) => Items.Create(datas, isClear);
|
||||
/// <summary> 创建UI项 </summary>
|
||||
public void Create(Data data) => Items.Create(data);
|
||||
public virtual void Create(Data data, bool isClear = false) => Items.Create(data, isClear);
|
||||
/// <summary> 遍历 </summary>
|
||||
public virtual void ForEach(Action<TItem> action) => Items.ForEach(action);
|
||||
/// <summary> 选择第一个 </summary>
|
||||
public virtual void SelectFirst() => Items.SelectFirst();
|
||||
/// <summary> 选择最后一个 </summary>
|
||||
public virtual void SelectFinally() => Items.SelectFinally();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,23 +8,34 @@ namespace MuHua {
|
||||
/// <summary>
|
||||
/// 滚动列表 - 水平
|
||||
/// </summary>
|
||||
public class UIScrollViewListH<T, Data> : UIScrollViewH where T : ModuleUIItem<Data> {
|
||||
public class UIScrollViewListH<TItem, Data> : UIScrollViewH where TItem : ModuleUIItem<Data> {
|
||||
/// <summary> UI项容器 </summary>
|
||||
public ModuleUIItems<TItem, Data> Items;
|
||||
|
||||
public ModuleUIItems<T, Data> Items;// UI项容器
|
||||
/// <summary> 索引器 </summary>
|
||||
public TItem this[int index] { get => Items[index]; }
|
||||
/// <summary> 计数 </summary>
|
||||
public int Count { get => Items != null ? Items.Count : 0; }
|
||||
|
||||
public UIScrollViewListH(VisualElement element, VisualElement canvas, VisualTreeAsset templateAsset,
|
||||
Func<Data, VisualElement, T> generate, UIDirection direction = UIDirection.FromLeftToRight) : base(element, canvas, direction) {
|
||||
Items = new ModuleUIItems<T, Data>(Container, templateAsset, generate);
|
||||
Func<Data, VisualElement, TItem> generate, UIDirection direction = UIDirection.FromLeftToRight) : base(element, canvas, direction) {
|
||||
Items = new ModuleUIItems<TItem, Data>(Container, templateAsset, generate);
|
||||
}
|
||||
public override void Dispose() {
|
||||
base.Dispose();
|
||||
Items.Dispose();
|
||||
}
|
||||
/// <summary> 释放资源 </summary>
|
||||
public void Release() => Items.Dispose();
|
||||
public virtual void Release() => Items.Dispose();
|
||||
/// <summary> 创建UI项 </summary>
|
||||
public void Create(List<Data> datas) => Items.Create(datas);
|
||||
public virtual void Create(List<Data> datas, bool isClear = true) => Items.Create(datas, isClear);
|
||||
/// <summary> 创建UI项 </summary>
|
||||
public void Create(Data data) => Items.Create(data);
|
||||
public virtual void Create(Data data, bool isClear = false) => Items.Create(data, isClear);
|
||||
/// <summary> 遍历 </summary>
|
||||
public virtual void ForEach(Action<TItem> action) => Items.ForEach(action);
|
||||
/// <summary> 选择第一个 </summary>
|
||||
public virtual void SelectFirst() => Items.SelectFirst();
|
||||
/// <summary> 选择最后一个 </summary>
|
||||
public virtual void SelectFinally() => Items.SelectFinally();
|
||||
}
|
||||
}
|
||||
@@ -8,23 +8,34 @@ namespace MuHua {
|
||||
/// <summary>
|
||||
/// 滚动列表 - 垂直
|
||||
/// </summary>
|
||||
public class UIScrollViewListV<T, Data> : UIScrollViewV where T : ModuleUIItem<Data> {
|
||||
public class UIScrollViewListV<TItem, Data> : UIScrollViewV where TItem : ModuleUIItem<Data> {
|
||||
/// <summary> UI项容器 </summary>
|
||||
public ModuleUIItems<TItem, Data> Items;
|
||||
|
||||
public ModuleUIItems<T, Data> Items;// UI项容器
|
||||
/// <summary> 索引器 </summary>
|
||||
public TItem this[int index] { get => Items[index]; }
|
||||
/// <summary> 计数 </summary>
|
||||
public int Count { get => Items != null ? Items.Count : 0; }
|
||||
|
||||
public UIScrollViewListV(VisualElement element, VisualElement canvas, VisualTreeAsset templateAsset,
|
||||
Func<Data, VisualElement, T> generate, UIDirection direction = UIDirection.FromTopToBottom) : base(element, canvas, direction) {
|
||||
Items = new ModuleUIItems<T, Data>(Container, templateAsset, generate);
|
||||
Func<Data, VisualElement, TItem> generate, UIDirection direction = UIDirection.FromTopToBottom) : base(element, canvas, direction) {
|
||||
Items = new ModuleUIItems<TItem, Data>(Container, templateAsset, generate);
|
||||
}
|
||||
public override void Dispose() {
|
||||
base.Dispose();
|
||||
Items.Dispose();
|
||||
}
|
||||
/// <summary> 释放资源 </summary>
|
||||
public void Release() => Items.Dispose();
|
||||
public virtual void Release() => Items.Dispose();
|
||||
/// <summary> 创建UI项 </summary>
|
||||
public void Create(List<Data> datas) => Items.Create(datas);
|
||||
public virtual void Create(List<Data> datas, bool isClear = true) => Items.Create(datas, isClear);
|
||||
/// <summary> 创建UI项 </summary>
|
||||
public void Create(Data data) => Items.Create(data);
|
||||
public virtual void Create(Data data, bool isClear = false) => Items.Create(data, isClear);
|
||||
/// <summary> 遍历 </summary>
|
||||
public virtual void ForEach(Action<TItem> action) => Items.ForEach(action);
|
||||
/// <summary> 选择第一个 </summary>
|
||||
public virtual void SelectFirst() => Items.SelectFirst();
|
||||
/// <summary> 选择最后一个 </summary>
|
||||
public virtual void SelectFinally() => Items.SelectFinally();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user