5using System.Collections.Generic;
19 public abstract class FancyGridView<TItemData, TContext> : FancyScrollRect<TItemData[], TContext>
20 where TContext : class, IFancyGridViewContext, new()
40 [SerializeField]
protected Vector2
cellSize =
new Vector2(100f, 100f);
49 protected sealed
override GameObject
CellPrefab => cellGroupTemplate;
61 GameObject cellGroupTemplate;
109 Context.CellTemplate = cellTemplate.gameObject;
111 cellGroupTemplate =
new GameObject(
"Group").AddComponent<TGroup>().gameObject;
112 cellGroupTemplate.transform.SetParent(cellContainer,
false);
113 cellGroupTemplate.SetActive(
false);
124 var itemGroups = items
125 .Select((item, index) => (item, index))
129 .Select(group => group.ToArray())
140 protected override void JumpTo(
int itemIndex,
float alignment = 0.5f)
143 base.JumpTo(groupIndex, alignment);
153 protected override void ScrollTo(
int itemIndex,
float duration,
float alignment = 0.5f, Action onComplete =
null)
156 base.ScrollTo(groupIndex, duration, alignment, onComplete);
167 protected override void ScrollTo(
int itemIndex,
float duration,
Ease easing,
float alignment = 0.5f, Action onComplete =
null)
170 base.ScrollTo(groupIndex, duration, easing, alignment, onComplete);
複数の FancyCell<TItemData, TContext> を持つセルグループ実装するための抽象基底クラス.
グリッドレイアウトのスクロールビューを実装するための抽象基底クラス. 無限スクロールおよびスナップには対応していません. FancyScrollView<TItemData,...
float startAxisSpacing
最初にセルを配置する軸方向のセル同士の余白.
virtual void Setup< TGroup >(FancyCell< TItemData, TContext > cellTemplate)
セルテンプレートのセットアップを行います.
virtual void UpdateContents(IList< TItemData > items)
渡されたアイテム一覧に基づいて表示内容を更新します.
override void JumpTo(int itemIndex, float alignment=0.5f)
指定したアイテムの位置までジャンプします.
abstract void SetupCellTemplate()
最初にセルが生成される直前に呼び出されます. Setup<TGroup>(FancyCell<TItemData, TContext>) メソッドを使用してセルテンプレートのセットアップを行ってください...
override void Initialize()
int startAxisCellCount
最初にセルを配置する軸方向のセル数.
override void ScrollTo(int itemIndex, float duration, Ease easing, float alignment=0.5f, Action onComplete=null)
指定したアイテムの位置まで移動します.
sealed override GameObject CellPrefab
セルのグループ Prefab.
override void ScrollTo(int itemIndex, float duration, float alignment=0.5f, Action onComplete=null)
指定したアイテムの位置まで移動します.
Credit Erdener Gonenc - @PixelEnvision.