예제 #1
0
    /// <summary>
    /// 设置推荐装备Grid数据
    /// </summary>
    /// <param name="m_equipRecommendGridDataList"></param>
    public void SetEquipRecommendDataList(List <EquipRecommendGridData> m_equipRecommendGridDataList)
    {
        for (int index = 0; index < m_equipRecommendGridDataList.Count; index++)
        {
            if (!m_maplistEquipRecommendUIGrid.ContainsKey(index))
            {
                continue;
            }

            int recommendScore = 0;
            int currentScore   = 0;

            EquipRecommendGridData gridData = m_equipRecommendGridDataList[index];
            EquipRecommendUIGrid   gridUI   = m_maplistEquipRecommendUIGrid[index];

            gridUI.LoadResourceInsteadOfAwake();
            gridUI.SetEquipRecommendAccess(gridData.access, gridData.accessType);

            if (gridData.currentItemEquipment != null)
            {
                gridUI.SetCurrentEquipID(gridData.currentItemEquipment.templateId);
                gridUI.SetCurrentEquip(gridData.currentItemEquipment.icon, gridData.currentItemEquipment.color, gridData.currentItemEquipment.quality);
                gridUI.SetCurrentEquipName(gridData.currentItemEquipment.name, true);

                currentScore = gridData.currentItemEquipment.GetScore(MogoWorld.thePlayer.level);
                gridUI.SetCurrentEquipScore((currentScore));
            }
            else
            {
                gridUI.SetCurrentEquipID(0);
                gridUI.SetCurrentEquip(EquipSlotIcon.icons[gridData.equipSlot], 0);
                gridUI.SetCurrentEquipName(EquipSlotName.GetEquipSlotNameBySlot(gridData.equipSlot), false);
                gridUI.SetCurrentEquipScore(0);
            }

            ItemEquipmentData recommendEquipData = ItemEquipmentData.GetItemEquipmentData(gridData.recommendEquipID);
            if (recommendEquipData != null)
            {
                gridUI.SetRecommendEquipID(recommendEquipData.id);
                gridUI.SetRecommendEquip(recommendEquipData.Icon, recommendEquipData.color, (int)recommendEquipData.quality);
                gridUI.SetRecommendEquipName(recommendEquipData.Name, true);

                recommendScore = recommendEquipData.GetScore(MogoWorld.thePlayer.level);
                gridUI.SetRecommendEquipScore(recommendScore);
            }
            else
            {
                gridUI.SetRecommendEquipID(0);
                gridUI.SetRecommendEquip(EquipSlotIcon.icons[gridData.equipSlot], 0);
                gridUI.SetRecommendEquipName(EquipSlotName.GetEquipSlotNameBySlot(gridData.equipSlot), false);
                gridUI.SetRecommendEquipScore(0);
            }

            gridUI.SetScoreUpgradeNum(recommendScore, currentScore);
        }
    }
예제 #2
0
    /// <summary>
    /// 创建推荐装备Grid列表
    /// </summary>
    /// <param name="num"></param>
    /// <param name="act"></param>
    void AddEquipRecommendGridList(int num, Action action = null)
    {
        ClearEquipRecommendGridList();
        ResetCameraPos();
        ShowEquipRecommendGridListArrow(num);

        // 删除翻页位置(滑动形式不需要处理)
        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;

            INSTANCE_COUNT++;
            MogoGlobleUIManager.Instance.ShowWaitingTip(true);

            AssetCacheMgr.GetUIInstance("EquipRecommendUIGrid.prefab", (prefab, guid, go) =>
            {
                GameObject obj              = (GameObject)go;
                obj.transform.parent        = m_tranEquipRecommendUIEquipList;
                obj.transform.localPosition = new Vector3(0, ITEMSPACEVERTICAL * index, 0);
                obj.transform.localScale    = new Vector3(1f, 1f, 1f);
                obj.GetComponentsInChildren <MyDragCamera>(true)[0].RelatedCamera = m_equipListCamera;
                EquipRecommendUIGrid gridUI = obj.AddComponent <EquipRecommendUIGrid>();

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

                // 创建翻页位置(滑动形式不需要处理)
                if (m_dragableCamera.IsMovePage)
                {
                    if (index % GRID_COUNT_ONE_PAGE == 0)
                    {
                        GameObject trans                 = new GameObject();
                        trans.transform.parent           = m_equipListCamera.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 = "DragListPosVertical" + index / GRID_COUNT_ONE_PAGE;
                        m_dragableCamera.transformList.Add(trans.transform);
                    }
                }

                INSTANCE_COUNT--;
                if (INSTANCE_COUNT <= 0)
                {
                    MogoGlobleUIManager.Instance.ShowWaitingTip(false);
                }

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

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