Exemplo n.º 1
0
        private void RefreshMoney()
        {
            HeroInfo heroInfo = HeroAdvanceProxy.instance.advanceHeroInfo;

            HeroAdvanceData data      = HeroAdvanceData.GetHeroAdvanceDataByStar(heroInfo.advanceLevel);
            int             needMoney = 0;

            if (data != null)
            {
                needMoney = data.gold;
            }
            int money = GameProxy.instance.BaseResourceDictionary.GetValue(BaseResType.Gold);

            if (money < needMoney)
            {
                coinText.text = UIUtil.FormatToRedText(needMoney.ToString());
            }
            else
            {
                coinText.text = UIUtil.FormatToGreenText(needMoney.ToString());
            }
        }
Exemplo n.º 2
0
        public void ClickStartAdvanceHandler()
        {
            HeroInfo heroInfo = HeroAdvanceProxy.instance.advanceHeroInfo;

            HeroAdvanceData    advanceData  = HeroAdvanceData.GetHeroAdvanceDataByStar(heroInfo.advanceLevel);
            List <GameResData> itemDataList = advanceData.GetItemIdByHeroType(heroInfo.heroData.roleType);


            if (heroInfo.level < advanceData.lv_limit)
            {
                CommonErrorTipsView.Open(string.Format(Localization.Get("ui.hero_advance_view.level_not_enough"), advanceData.lv_limit));
                return;
            }
            GameResData resData;

            for (int i = 0, count = itemDataList.Count; i < count; i++)
            {
                resData = itemDataList[i];
                ItemInfo itemInfo = ItemProxy.instance.GetItemInfoByItemID(resData.id);
                if (itemInfo == null || itemInfo.count < resData.count)
                {
                    CommonErrorTipsView.Open(Localization.Get("ui.hero_advance_view.material_not_enough"));
                    return;
                }
            }

            int money = GameProxy.instance.BaseResourceDictionary.GetValue(BaseResType.Gold);

            if (money < advanceData.gold)
            {
                CommonErrorTipsView.Open(Localization.Get("ui.hero_advance_view.gold_not enough"));
                return;
            }

            HeroController.instance.CLIENT2LOBBY_HERO_ADVANCE_REQ((int)heroInfo.instanceID, 0);
        }
Exemplo n.º 3
0
        private void RefreshMaterial()
        {
            HeroInfo heroInfo = HeroAdvanceProxy.instance.advanceHeroInfo;

            for (int i = 0, count = materialCountText.Length; i < count; i++)
            {
                materialCountText[i].gameObject.SetActive(false);
                CommonRewardIcon icon = materialCountText[i].transform.parent.GetComponentInChildren <CommonRewardIcon>();
                if (icon != null)
                {
                    GameObject.DestroyImmediate(icon.gameObject);
                }
            }

            if (heroInfo.IsMaxAdvanceLevel)
            {
                advanceOperationRootGameObject.SetActive(false);
                starReachMaxText.gameObject.SetActive(true);
                return;
            }

            HeroAdvanceData advanceData = HeroAdvanceData.GetHeroAdvanceDataByStar(heroInfo.advanceLevel);

            if (advanceData == null)
            {
                return;
            }
            ItemInfo           itemInfo;
            GameResData        resData;
            GridLayoutGroup    materialRootGridLayout = materialRoot.GetComponent <GridLayoutGroup>();
            List <GameResData> itemDataList           = advanceData.GetItemIdByHeroType(heroInfo.heroData.roleType);
            Transform          parent;

            for (int i = 0, dataListCount = itemDataList.Count; i < dataListCount; i++)
            {
                if (i < materialRoot.childCount)
                {
                    parent = materialRoot.GetChild(i);
                }
                else
                {
                    parent = materialRoot;
                }
                resData  = itemDataList[i];
                itemInfo = ItemProxy.instance.GetItemInfoByItemID(resData.id);

                CommonRewardIcon item     = CommonRewardIcon.Create(parent);
                RectTransform    itemTran = item.transform as RectTransform;
                itemTran.localPosition = Vector3.zero;
                float width = itemTran.sizeDelta.x;
                item.SetGameResData(resData);
                float scale = materialRootGridLayout.cellSize.x / width;
                item.transform.localScale = new Vector3(scale, scale, 1);
                item.HideCount();
                item.onClickHandler = ClickMaterialHandler;
                int    count = itemInfo == null ? 0 : itemInfo.count;
                string text  = string.Format(Localization.Get("common.value/max"), count, resData.count);
                if (count < resData.count)
                {
                    text = UIUtil.FormatToRedText(text);
                }
                else
                {
                    text = UIUtil.FormatToGreenText(text);
                }
                Text countText = parent.Find("text_count").GetComponent <Text>();
                countText.text = text;
                countText.gameObject.SetActive(true);
            }
            string needLvString = string.Format(Localization.Get("ui.hero_advance_view.need_level"), advanceData.lv_limit);

            if (heroInfo.level < advanceData.lv_limit)
            {
                needLevelText.text = UIUtil.FormatToRedText(needLvString);
            }
            else
            {
                needLevelText.text = UIUtil.FormatToColorText(needLvString, "FFAB25");//深黄
            }
            advanceOperationRootGameObject.SetActive(true);
            starReachMaxText.gameObject.SetActive(false);
        }