Tanoda
FancyGridViewCell.cs
Go to the documentation of this file.
1
3
5{
13 public abstract class FancyGridViewCell<TItemData, TContext> : FancyScrollRectCell<TItemData, TContext>
14 where TContext : class, IFancyGridViewContext, new()
15 {
17 protected override void UpdatePosition(float normalizedPosition, float localPosition)
18 {
19 var cellSize = Context.GetCellSize();
20 var spacing = Context.GetStartAxisSpacing();
21 var groupCount = Context.GetGroupCount();
22
23 var indexInGroup = Index % groupCount;
24 var positionInGroup = (cellSize + spacing) * (indexInGroup - (groupCount - 1) * 0.5f);
25
26 transform.localPosition = Context.ScrollDirection == ScrollDirection.Horizontal
27 ? new Vector2(-localPosition, -positionInGroup)
28 : new Vector2(positionInGroup, localPosition);
29 }
30 }
31
37 public abstract class FancyGridViewCell<TItemData> : FancyGridViewCell<TItemData, FancyGridViewContext>
38 {
40 public sealed override void SetContext(FancyGridViewContext context) => base.SetContext(context);
41 }
42}
FancyGridView<TItemData, TContext> のセルを実装するための抽象基底クラス. FancyCell<TItemData, TContext>....
sealed override void SetContext(FancyGridViewContext context)
override void UpdatePosition(float normalizedPosition, float localPosition)
このセルの位置を更新します.
FancyGridView<TItemData, TContext> のコンテキスト基底クラス.
Credit Erdener Gonenc - @PixelEnvision.