コード例 #1
0
ファイル: GNewTabList.cs プロジェクト: frozen4/UnityPlus
    protected override Vector2 GetItemSize(GListItem item, float x, float y, float fx, float fy)
    {
        Vector2 real_size = new Vector2();

        if (item != null)
        {
            RectTransform rt = item.RectTrans;

            item.SetPosition(AlignXY(rt, y, fy));
            //rt.anchoredPosition = AlignXY(rt, y, fy);
            //item.SetLocalPosition(AlignXY(rt, y, fy));

            real_size.x = rt.sizeDelta.x;
            real_size.y = rt.sizeDelta.y;

            y += real_size.y * fy;

            if (item.index == MainSelected)
            {
                //float dsx = SubViewTemplate.sizeDelta.x;
                //float dsy = SubViewTemplate.sizeDelta.y /* * rt.localScale.y*/;

                Vector2 size = SubViewTemplate.rect.size;

                SubViewTemplate.anchoredPosition = AlignXY(SubViewTemplate, y, fy);

                real_size.x  = Mathf.Max(size.x, real_size.x);
                real_size.y += size.y;
            }
        }

        return(real_size);
    }
コード例 #2
0
    //private void DisposeItem(List<GListItem> items)
    //{
    //    if (items.Count > 0)
    //    {
    //        GListItem item = items[items.Count - 1];
    //        if (item != null)
    //        {
    //            if (_pool.PutIn(item))
    //            {
    //                GNewUITools.SetVisible(item.RectTrans, false);
    //            }
    //            else
    //            {
    //                Destroy(item.gameObject);
    //            }
    //        }
    //        items.RemoveAt(items.Count - 1);
    //    }
    //}

    private void UpdateItem(List <GListItem> items, int pos, int index)
    {
        if (items.Count > pos)
        {
            //Debug.Log("UpdateItem " + pos + " " + index);
            if (items[pos] == null)
            {
                items[pos] = TryCreateItem();
            }

            GListItem item = items[pos];

            //dont want to wast time here
            //SetPivotAnchor(item.RectTrans, _Align);

            AdjustItemAnchor(item.RectTrans);

            item.SetPosition(Index2Pos2(index, item.RectTrans));
            //item.gameObject.SetActive(id < this._DataCount);
            //item.SetLocalPosition(Index2Pos2(index, item.RectTrans));

            item.UpdateItem(index, true);

            if (SingleSelect)
            {
                item.IsOn = (_SingleSelectIndex == index);
            }
        }
    }
コード例 #3
0
ファイル: GNewList.cs プロジェクト: frozen4/UnityPlus
    //private void DisposeItem(List<GListItem> items)
    //{
    //    if (items.Count > 0)
    //    {
    //        GListItem item = items[items.Count - 1];
    //        if (item != null)
    //        {
    //            if (_pool.PutIn(item))
    //            {
    //                GNewUITools.SetVisible(item.RectTrans, false);
    //            }
    //            else
    //            {
    //                Destroy(item.gameObject);
    //            }
    //        }

    //        items.RemoveAt(items.Count - 1);
    //    }
    //}

    private void UpdateItem(List <GListItem> items, int pos, bool is_need_init)
    {
        //Debug.Log("UpdateItem " + pos);

        GListItem item = null;

        if (items.Count > pos)
        {
            item = items[pos];
        }
        else
        {
            item = TryCreateItem();
            items.Add(item);
            //OnAddItem(item.gameObject, item.index);
        }

        AdjustItemAnchor(item.RectTrans);
        item.SetPosition(Index2Pos2(pos, item.RectTrans));
        //item.RectTrans.anchoredPosition = Index2Pos2(pos, item.RectTrans);
        //item.SetLocalPosition(Index2Pos2(pos, item.RectTrans));

        item.UpdateItem(pos, is_need_init);

        if (SingleSelect)
        {
            item.IsOn = (_SingleSelectIndex == pos);
        }
    }
コード例 #4
0
ファイル: GNewTableBase.cs プロジェクト: frozen4/UnityPlus
    protected virtual Vector2 GetItemSize(GListItem item, float x, float y, float fx, float fy)
    {
        Vector2 real_size = new Vector2();

        if (item != null)
        {
            RectTransform rt = item.RectTrans;
            item.SetPosition(AlignXY(rt, y, fy));
            //item.SetLocalPosition(AlignXY(rt, y, fy));
            //rt.anchoredPosition = AlignXY(rt, y, fy);

            real_size = rt.rect.size;

            y += real_size.y * fy;
        }

        return(real_size);
    }