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()); } }
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); }
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); }