public ListViewItemContainer(RectTransform template, RectTransform contentParent, int index, AiukAbsListView <TData, TItem> itemOperator ) { Rect = template.gameObject.GetComponent <RectTransform>(); ListView = itemOperator; TryInitStaticField(itemOperator); // 静态本地变量赋值,提高计算性能 DataList = itemOperator.ItemDatas; Drawer = new TItem(); Drawer.Init(template); Rect.gameObject.SetActive(true); Rect.SetParent(contentParent); Rect.localScale = Vector3.one; Index = index; }
private static void TryInitStaticField(AiukAbsListView <TData, TItem> listView) { if (IsStaticFieldInited) { return; } PerLineMax = listView.PerLineMax; ItemWidthUnit = listView.ItemWidthUnit; ItemHeightUnit = listView.ItemHeightUnit; Padding = listView.Padding; Spacing = listView.Spacing; CellSize = listView.CellSize; ArrangementType = listView.ArrangementType; IsStaticFieldInited = true; }