예제 #1
0
    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();
        }
    }
예제 #2
0
 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));
 }
예제 #3
0
    /// <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();
    }
예제 #4
0
    /// <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;
        }
    }