Esempio n. 1
0
    /// <summary>
    /// 更新奖励列表
    /// </summary>
    /// <param name="mission">任务数据</param>
    /// <param name="rewardBox">奖励容器</param>
    private void UpdateRewardList(MissionVO mission, Transform rewardBox)
    {
        CfgEternityProxy configs = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy;

        m_RewardIDs.Clear();
        m_RewardCounts.Clear();

        MissionMain cfg = mission.MissionMainConfig.Value;

        if (cfg.ItemId1 > 0)
        {
            m_RewardIDs.Add(cfg.ItemId1);
            m_RewardCounts.Add(cfg.ItemNum1);
        }
        if (cfg.ItemId2 > 0)
        {
            m_RewardIDs.Add(cfg.ItemId2);
            m_RewardCounts.Add(cfg.ItemNum2);
        }
        if (cfg.ItemId3 > 0)
        {
            m_RewardIDs.Add(cfg.ItemId3);
            m_RewardCounts.Add(cfg.ItemNum3);
        }
        if (cfg.ItemId4 > 0)
        {
            m_RewardIDs.Add(cfg.ItemId4);
            m_RewardCounts.Add(cfg.ItemNum4);
        }
        if (cfg.ItemId5 > 0)
        {
            m_RewardIDs.Add(cfg.ItemId5);
            m_RewardCounts.Add(cfg.ItemNum5);
        }

        int index = 0;

        for (; index < m_RewardIDs.Count; index++)
        {
            int  itemID    = m_RewardIDs[index];
            int  itemCount = m_RewardCounts[index];
            Item item      = configs.GetItemByKey((uint)m_RewardIDs[index]);

            Transform node    = index < rewardBox.childCount ? rewardBox.GetChild(index) : Object.Instantiate(rewardBox.GetChild(0), rewardBox);
            Image     icon    = FindComponent <Image>(node, "Icon/Icon");
            Image     quality = FindComponent <Image>(node, "Icon/Quality");
            TMP_Text  name    = FindComponent <TMP_Text>(node, "Label_Name");
            TMP_Text  count   = FindComponent <TMP_Text>(node, "Label_Num");

            node.gameObject.SetActive(true);
            UIUtil.SetIconImageSquare(icon, item.Icon);
            quality.color = ColorUtil.GetColorByItemQuality(item.Quality);
            name.text     = TableUtil.GetItemName(itemID);
            count.text    = itemCount.ToString();
        }
        for (; index < rewardBox.childCount; index++)
        {
            rewardBox.GetChild(index).gameObject.SetActive(false);
        }
    }
Esempio n. 2
0
    /// <summary>
    /// 添加奖励icon
    /// </summary>
    private void AddRewardItemIcon()
    {
        MissionMain cfg = m_MissionVO.MissionMainConfig.Value;

        if (cfg.ItemId1 > 0 && !m_RewardInfo.ContainsKey(cfg.ItemId1))
        {
            m_RewardInfo.Add(cfg.ItemId1, cfg.ItemNum1);
        }
        if (cfg.ItemId2 > 0 && !m_RewardInfo.ContainsKey(cfg.ItemId2))
        {
            m_RewardInfo.Add(cfg.ItemId2, cfg.ItemNum2);
        }
        if (cfg.ItemId3 > 0 && !m_RewardInfo.ContainsKey(cfg.ItemId3))
        {
            m_RewardInfo.Add(cfg.ItemId3, cfg.ItemNum3);
        }
        if (cfg.ItemId4 > 0 && !m_RewardInfo.ContainsKey(cfg.ItemId4))
        {
            m_RewardInfo.Add(cfg.ItemId4, cfg.ItemNum4);
        }
        if (cfg.ItemId5 > 0 && !m_RewardInfo.ContainsKey(cfg.ItemId5))
        {
            m_RewardInfo.Add(cfg.ItemId5, cfg.ItemNum5);
        }

        foreach (var item in m_RewardInfo)
        {
            if (item.Value > 0 && item.Key > 0)
            {
                Item it = m_CfgEternityProxy.GetItemByKey((uint)item.Key);
                IconManager.Instance.LoadItemIcon <IconCommon>(IconConstName.ICON_COMMON, m_RewardsContainer,
                                                               (icon) =>
                {
                    m_IconList.Add(icon);
                    icon.SetData(it.Icon, it.Quality, item.Value);
                }
                                                               );
            }
        }
    }