/// <summary>
 /// 设置等级不足活动数据
 /// </summary>
 /// <param name="id"></param>
 /// <param name="imgName"></param>
 /// <param name="itemName"></param>
 public void SetGridListData(List <UpgradeLevelGuideData> listUpgradeLevelGuideData)
 {
     for (int index = 0; index < listUpgradeLevelGuideData.Count; index++)
     {
         if (m_mapGrid.ContainsKey(index))
         {
             UpgradeLevelGuideData gridData = listUpgradeLevelGuideData[index];
             LevelNoEnoughUIGrid   gridUI   = m_mapGrid[index];
             gridUI.LoadResourceInsteadOfAwake();
             gridUI.Index = index;
             gridUI.SetLevelUpgradeGuideDetail(gridData.title, gridData.icon, gridData.buttonName, gridData.desc, gridData.requestLevel);
         }
     }
 }
    /// <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();
                    }
                }
            });
        }
    }