public void AddItemTotail(int numItem, ChangeIndexDelegate callback = null, float _dragAmountX = 0.0f, float _dragAmountY = 0.0f) { ItemTotalCount += numItem; if (NumItemPerRow > 0) { ItemCount = Mathf.CeilToInt((float)ItemTotalCount / (float)NumItemPerRow); } else { ItemCount = ItemTotalCount; } //화면에 보여질 개수 if (Arrangement == EArrangement.Vertical) { mMinShowCount = maxCol * (maxRow + 1); } else { mMinShowCount = (maxCol + 1) * maxRow; } int makeCount = Mathf.Min(ItemCount, mMinShowCount); if (!m_bEnableScrolling) { this.Init(ItemTotalCount, callback, _dragAmountX, _dragAmountX); } else { SetTemplate(ItemTotalCount); UpdateCurrentPosition(); } }
public void Init(int _count, ChangeIndexDelegate callback, float _dragAmountX = 0.0f, float _dragAmountY = 0.0f) { // mFirstPosition = (_InitX < -99990.9f) ? mTrans.localPosition : new Vector3(_InitX, _InitY); mCallback = callback; HasMultiList = false; StartCoroutine(InitEnumerator(_count, _dragAmountX, _dragAmountY)); }
/// <summary> /// 아이템을 생성한다. /// </summary> /// <param name="count"></param> /// <param name="callback"></param> public void Init(int count, ChangeIndexDelegate callback) { mCallback = callback; ItemCount = count; SetTemplate(count); RemoveAll(); mList.Clear(); //화면에 보여질 개수 if (Arrangement == EArrangement.Vertical) { mMinShowCount = maxCol * (maxRow + 1); } else { mMinShowCount = (maxCol + 1) * maxRow; } int makeCount = Mathf.Min(count, mMinShowCount); GameObject obj = null; UIListItem prevItem = null; //Debug.Log ("makecout : " + makeCount); for (int i = 0; i < makeCount; i++) { // Debug.Log(gameObject+ " : " + TemplatePrefab ); obj = NGUITools.AddChild(gameObject, TemplatePrefab); if (obj.GetComponent <UIDragScrollView>() == null) { obj.AddComponent <UIDragScrollView>().scrollView = this; } UIListItem item = new UIListItem(); item.Target = obj; //item.Target.AddComponent<cUIScrollListBase>(); item.SetIndex(i); mList.Add(item); item.Prev = prevItem; item.Next = null; if (prevItem != null) { prevItem.Next = item; } prevItem = item; mCallback(item, i); } UpdatePosition(); }
/// <summary> /// 아이템을 생성한다. /// </summary> /// <param name="count"></param> /// <param name="callback"></param> public void Init(int count, ChangeIndexDelegate callback) { ResetPosition(); mCallback = callback; ItemCount = count; SetTemplate(count); RemoveAll(); mList.Clear(); //화면에 보여질 개수 if (Arrangement == EArrangement.Vertical) { mMinShowCount = maxCol * (maxRow + 1); } else { mMinShowCount = (maxCol + 1) * maxRow; } int makeCount = Mathf.Min(count, mMinShowCount); GameObject obj = null; UIListItem prevItem = null; for (int i = 0; i < makeCount; i++) { obj = NGUITools.AddChild(gameObject, TemplatePrefab); if (obj.GetComponent <UIDragScrollView>() == null) { obj.AddComponent <UIDragScrollView>().scrollView = this; } UIListItem item = new UIListItem(); item.Target = obj; item.SetIndex(i); mList.Add(item); item.Prev = prevItem; item.Next = null; if (prevItem != null) { prevItem.Next = item; } prevItem = item; mCallback(item, i); } if (mMinShowCount - 1 > count) { StartCoroutine(IEnueUpdatePosition()); enabled = false; } else { UpdatePosition(); enabled = true; } }