/// <summary> /// 初始化(通过数据回调) /// </summary> /// <param name="layoutType"></param> /// <param name="spacing">spacing</param> /// <param name="defaultItemSize">默认item大小</param> /// <param name="itemTemplate">默认item模板</param> /// <param name="updateItemCallback">更新item回调</param> /// <param name="customItemSizeGetter">可变itemSize则传入item大小获取器</param> /// <param name="customItemTempGetter">可变item模板则传入item模板获取器</param> /// <param name="gridGroupAlignReverse">分组排版时,一组大小不一的item是否反向靠拢,默认false,Layout为HorizontalAfterVertical则向右靠拢,Layout为VerticalAfterHorizontal则向上靠拢</param> public void Init(LoopScrollLayoutType layoutType, Vector2 spacing, Vector2 defaultItemSize, GameObject itemTemplate, Action <int, object, GameObject> updateItemCallback = null, Func <object, Vector2> customItemSizeGetter = null, Func <object, GameObject> customItemTempGetter = null, bool gridGroupAlignReverse = false) { m_updateItemCallback = updateItemCallback; m_customItemSizeGetter = customItemSizeGetter; m_customItemTempGetter = customItemTempGetter; InitScrollView(layoutType, spacing, defaultItemSize, itemTemplate, gridGroupAlignReverse); }
protected void InitScrollView(LoopScrollLayoutType layoutType, Vector2 spacing, Vector2 defaultItemSize, GameObject itemTemplate, bool gridGroupAlignReverse) { CacheBase(); m_layoutType = layoutType; m_layoutSpacing = spacing; m_defaultItemSize = defaultItemSize; m_defaultItemTemp = itemTemplate; m_gridGroupAlignReverse = gridGroupAlignReverse; InitPool(); UpdateScrollHVEnable(); }