Exemple #1
0
    void OnTSEnd()
    {
        int   iconNum   = ComposeUIViewManager.Instance.GetIconGridNum();
        int   iconChild = ComposeUIViewManager.Instance.GetIconGridChildNum();
        float f         = m_dragableCamera.transformList[0].localPosition.y - (ICONGRIDSPACE * 0.0008f * (iconNum - 1) + (iconChild - 6) * ICONGRIDCHILDSPACE * 0.0008f);

        m_dragableCamera.MINY = f;
        m_dragableCamera.SetArrow();
        //float cameraPageHeight = Math.Abs(m_dragableCamera.FPageHeight * 1280);
        //float totalLength = iconNum * ICONGRIDSPACE + iconChild * ICONGRIDCHILDSPACE;
    }
    public void ResetListCamera(int gridNum)
    {
        MyDragableCamera dragableCamera = m_tranDragableCamera.GetComponentsInChildren <MyDragableCamera>(true)[0];

        dragableCamera.DestroyMovePagePosList(); // 删除翻页点

        int temp = (gridNum - 1);

        if (temp < 0)
        {
            temp = 0;
        }
        int pageNum = (int)(temp / m_numPerPage) + 1;

        m_tranDragableCamera.GetComponent <TweenPosition>().to = m_dragCameraBeginPos;
        m_tranDragableCamera.localPosition = m_dragCameraBeginPos;

        dragableCamera.transformList = new List <Transform>();
        for (int i = 0; i < pageNum; i++)
        {
            GameObject go = new GameObject();
            go.name = string.Concat("CameraMovePagePos", i);

            Utils.MountToSomeObjWithoutPosChange(go.transform, m_listRoot);

            if (m_isHorizontal)
            {
                go.transform.localPosition = new Vector3(m_dragCameraBeginPos.x + m_gap * m_numPerPage * i, m_dragCameraBeginPos.y, m_dragCameraBeginPos.z);
            }
            else
            {
                go.transform.localPosition = new Vector3(m_dragCameraBeginPos.x, m_dragCameraBeginPos.y - m_gap * m_numPerPage * i, m_dragCameraBeginPos.z);
            }

            dragableCamera.transformList.Add(go.transform);
            dragableCamera.SetArrow();
        }
    }
    public void AddChooseServerGrid(ChooseServerGridData cd)
    {
        AssetCacheMgr.GetUIInstance("ChooseServerUIServerBtn.prefab", (prefab, id, go) =>
        {
            GameObject obj = (GameObject)go;

            obj.transform.parent = m_goChooseServerGridList.transform;

            int page = m_listChooseServerGrid.Count / 12;
            int row  = (m_listChooseServerGrid.Count % 12) / 3;
            int col  = (m_listChooseServerGrid.Count % 12) % 3;

            if (page + 1 > m_iCurrentServerGridPage)
            {
                GameObject trans = new GameObject();

                trans.transform.parent           = m_goChooseServerGridList.transform;
                trans.transform.localPosition    = new Vector3(page * CHOOSESERVERGRIDPAGEWIDTH + CHOOSESERVERGRIDWIDTH, -125, 0);
                trans.transform.localEulerAngles = Vector3.zero;
                trans.transform.localScale       = new Vector3(1, 1, 1);

                m_dragableCameraChooseServerGridList.transformList.Add(trans.transform);
                m_dragableCameraChooseServerGridList.SetArrow();

                ++m_iCurrentServerGridPage;
            }

            obj.transform.localPosition = new Vector3(page * CHOOSESERVERGRIDPAGEWIDTH + col * CHOOSESERVERGRIDWIDTH, -row * CHOOSESERVERGRIDHEIGHT, 0);
            obj.transform.localScale    = new Vector3(1, 1, 1);
            obj.AddComponent <MyDragCamera>().RelatedCamera = m_camChooseServerGridList;

            ChooseServerUIGrid sg = obj.AddComponent <ChooseServerUIGrid>();

            sg.Id           = m_listChooseServerGrid.Count;
            sg.ServerName   = cd.serverName;
            sg.ServerStatus = cd.serverStatus;

            m_listChooseServerGrid.Add(obj);

            if (m_iChooseServerPageNum < page + 1)
            {
                ++m_iChooseServerPageNum;

                int num = m_iChooseServerPageNum;

                AssetCacheMgr.GetUIInstance("ChooseServerPage.prefab", (prefabPage, idPage, goPage) =>
                {
                    GameObject objPage = (GameObject)goPage;

                    objPage.transform.parent        = m_goChooseServerGridPageList.transform;
                    objPage.transform.localPosition = new Vector3((num - 1) * 40, 0, 0);
                    objPage.transform.localScale    = Vector3.one;
                    m_dragableCameraChooseServerGridList.ListPageDown.Add(objPage.GetComponentsInChildren <UISprite>(true)[1].gameObject);
                    m_goChooseServerGridPageList.transform.localPosition += new Vector3(-20 * (num - 1), 0, 0);

                    if (num == 1)
                    {
                        objPage.GetComponentsInChildren <UISprite>(true)[1].gameObject.SetActive(true);
                    }

                    m_listChooseServerGridPage.Add(objPage);
                });
            }
        });
    }
    /// <summary>
    /// 添加等级不足活动Grid
    /// </summary>
    /// <param name="num"></param>
    /// <param name="act"></param>
    void AddUIGridList(int num, Action act = null)
    {
        ClearUIGridList();
        ResetGridListCameraPos();

        // 删除翻页位置(滑动形式不需要处理)
        if (m_dragableCamera.IsMovePage)
        {
            if (m_dragableCamera.transformList != null)
            {
                for (int i = 0; i < m_dragableCamera.transformList.Count; ++i)
                {
                    Destroy(m_dragableCamera.transformList[i].gameObject);
                }

                m_dragableCamera.transformList.Clear();
            }
        }

        for (int i = 0; i < num; ++i)
        {
            int index = i;
            AssetCacheMgr.GetUIInstance("LevelNoEnoughUIGrid.prefab", (prefab, guid, go) =>
            {
                GameObject obj              = (GameObject)go;
                obj.transform.parent        = m_tranUIGridlList;
                obj.transform.localPosition = new Vector3(0, ITEMSPACEVERTICAL * index, 0);
                obj.transform.localScale    = new Vector3(1f, 1f, 1f);
                obj.GetComponentsInChildren <MyDragCamera>(true)[0].RelatedCamera = m_gridListCamera;
                LevelNoEnoughUIGrid gridUI = obj.AddComponent <LevelNoEnoughUIGrid>();

                if (m_mapGrid.ContainsKey(index))
                {
                    AssetCacheMgr.ReleaseInstance(m_mapGrid[index].gameObject);
                }
                m_mapGrid[index] = gridUI;

                // 创建翻页位置(滑动形式不需要处理)
                if (m_dragableCamera.IsMovePage)
                {
                    if (index % GRID_COUNT_ONE_PAGE == 0)
                    {
                        GameObject trans                 = new GameObject();
                        trans.transform.parent           = m_gridListCamera.transform;
                        trans.transform.localPosition    = new Vector3(0, index / GRID_COUNT_ONE_PAGE * ITEMSPACEVERTICAL * GRID_COUNT_ONE_PAGE, 0);
                        trans.transform.localEulerAngles = Vector3.zero;
                        trans.transform.localScale       = new Vector3(1, 1, 1);
                        trans.name = "GridListPosHorizon" + index / GRID_COUNT_ONE_PAGE;
                        m_dragableCamera.transformList.Add(trans.transform);
                        m_dragableCamera.SetArrow();
                    }
                }

                if (index == num - 1)
                {
                    // 滑动形式和翻页形式都需要设置
                    //if (!m_dragableCamera.IsMovePage)
                    {
                        m_dragableCamera.FPageHeight = ITEMSPACEVERTICAL * GRID_COUNT_ONE_PAGE;
                        m_dragableCamera.MAXY        = OFFSET_Y;
                        if (m_mapGrid.Count > GRID_COUNT_ONE_PAGE)
                        {
                            m_dragableCamera.MINY = (m_mapGrid.Count - GRID_COUNT_ONE_PAGE) * ITEMSPACEVERTICAL + OFFSET_Y;
                        }
                        else
                        {
                            m_dragableCamera.MINY = m_dragableCamera.MAXY;
                        }
                        m_dragableCamera.SetArrow();
                    }

                    if (act != null)
                    {
                        act();
                    }
                }
            });
        }
    }