Exemplo n.º 1
0
    public void SetAwardItem(List <int> items, List <int> counts)
    {
        if (items == null || counts == null)
        {
            return;
        }
        if (items.Count <= 0 || counts.Count <= 0)
        {
            return;
        }
        int itemId    = items[0];
        int itemCount = counts[0];

        DFMItemIconUtils.Instance.SetItemInfo(ItemIconType.Scene_Award2, lblAwardItem, itemId, itemCount);
        ItemConfig itemCfg = ItemConfigProvider.Instance.GetDataById(itemId);

        if (itemCfg != null)
        {
            if (texAwardItem != null)
            {
                UISceneIntroduceSlot scriptSlot = texAwardItem.GetComponent <UISceneIntroduceSlot>();
                if (scriptSlot != null)
                {
                    scriptSlot.SetId(itemId);
                }
            }
            if (lblAwardItemName != null)
            {
                lblAwardItemName.text = itemCfg.m_ItemName;
            }
        }
    }
Exemplo n.º 2
0
    //显示奖励信息
    public void ShowAwardInfo(int sceneId, SubSceneType subType, int grade)
    {
        Data_SceneConfig sceneCfg = SceneConfigProvider.Instance.GetSceneConfigById(sceneId);

        if (subType == SubSceneType.Common)
        {
            //普通副本
            NGUITools.SetActive(goCommonAward, true);
            NGUITools.SetActive(goMasterAward, false);
            if (goFinished != null)
            {
                if (grade > 0)
                {
                    NGUITools.SetActive(goFinished, true);
                }
                else
                {
                    NGUITools.SetActive(goFinished, false);
                }
            }
            int dropId = -1;
            if (sceneCfg == null)
            {
                return;
            }
            if (sceneCfg.m_CompletedRewards != null && sceneCfg.m_CompletedRewards.Count > 0)
            {
                dropId = sceneCfg.m_CompletedRewards[0];
            }
            Data_SceneDropOut dropCfg = SceneConfigProvider.Instance.GetSceneDropOutById(dropId);
            if (dropCfg != null)
            {
                List <int> rewardItemIdList = dropCfg.GetRewardItemByHeroId(LobbyClient.Instance.CurrentRole.HeroId);
                if (null != rewardItemIdList && rewardItemIdList.Count > 0)
                {
                    int itemId = rewardItemIdList[0];
                    if (commonAwardSlot != null)
                    {
                        commonAwardSlot.SetId(itemId);
                    }
                    DFMItemIconUtils.Instance.SetItemInfo(ItemIconType.Scene_First, goCommonAward, itemId);
                }
            }
        }
        else
        {
            //精英副本
            NGUITools.SetActive(goCommonAward, false);
            NGUITools.SetActive(goMasterAward, true);
            if (sceneCfg == null || sceneCfg.m_CompletedRewards == null)
            {
                return;
            }
            for (int i = 0; i < sceneCfg.m_CompletedRewards.Count; ++i)
            {
                int dropId = sceneCfg.m_CompletedRewards[i];
                Data_SceneDropOut dropCfg = SceneConfigProvider.Instance.GetSceneDropOutById(dropId);
                if (dropCfg != null)
                {
                    List <int> rewardItemIdList = dropCfg.GetRewardItemByHeroId(LobbyClient.Instance.CurrentRole.HeroId);
                    if (null != rewardItemIdList && rewardItemIdList.Count > 0)
                    {
                        int itemId = rewardItemIdList[0];
                        if (i < masterAwardSlotArr.Length && masterAwardSlotArr[i] != null)
                        {
                            masterAwardSlotArr[i].SetId(itemId);
                        }
                        DFMItemIconUtils.Instance.SetItemInfo(ItemIconType.Scene_Star, texItemArr[i], itemId);
                    }
                }
            }
            for (int i = 0; i < spArrowArr.Length; ++i)
            {
                if (i + 1 < grade)
                {
                    if (spArrowArr[i] != null)
                    {
                        spArrowArr[i].spriteName = c_BrightArrow;
                    }
                }
                else
                {
                    if (spArrowArr[i] != null)
                    {
                        spArrowArr[i].spriteName = c_AshArrow;
                    }
                }
            }
            //指示标志
            if (grade < 3 && grade >= 0 && lblStarNum != null)
            {
                NGUITools.SetActive(goGuide, true);
                lblStarNum.text = (grade + 1).ToString();
                if (grade < m_GuidePosArr.Length)
                {
                    goGuide.transform.localPosition = m_GuidePosArr[grade];
                }
            }
            else
            {
                NGUITools.SetActive(goGuide, false);
            }
            for (int i = 0; i < spFinishedArr.Length; ++i)
            {
                if (i < grade)
                {
                    if (spFinishedArr[i] != null)
                    {
                        NGUITools.SetActive(spFinishedArr[i].gameObject, true);
                    }
                }
                else
                {
                    if (spFinishedArr[i] != null)
                    {
                        NGUITools.SetActive(spFinishedArr[i].gameObject, false);
                    }
                }
            }
            //推荐战力
            if (lblRecommendFighting != null)
            {
                lblRecommendFighting.text = sceneCfg.m_RecommendFighting.ToString();
            }
            SetAwardCondition(grade, sceneCfg);
        }
    }