using Core.Language; using Core.Utility; using Excel2Json; using GameLogic.Hero; using UnityEngine; using UnityEngine.UI; using Utility; namespace Fort23.Mono { [UIBinding(prefab = "HeroPowerUpPre" )] public partial class HeroPowerUpPre : UIComponent { private HeroDetailPanel heroDetailPanel; private HeroInfo heroInfo; private async void Init() { heroDetailPanel = await UIManager.Instance.LoadAndOpenPanel(null); } public override void AddEvent() { } public override void DelEvent() { } public override void AddButtonEvent() { } public void OpenUpgradePre(HeroInfo heroInfo) { // this.heroInfo = heroInfo; objPromote.SetActive(false); objUpgrade.SetActive(true); rtUpgradeBg.sizeDelta = new Vector2(rtUpgradeBg.sizeDelta.x, GlobalParam.Hero_Upgrade_UI_BG_Height); HeroInfo nextLvInfo = new HeroInfo(); nextLvInfo.InitHero(heroInfo.modelID, (heroInfo.powerUpConfig.ID + 1), heroInfo.promoteConfig.ID); SkillUpConfig upConfig = PlayerManager.Instance.heroController.GetSkillUpConfig4Lv(nextLvInfo.level.Value); txtUpLv1.text = heroInfo.level.Value.ToStringEx(); txtUpLv2.text = nextLvInfo.level.Value.ToStringEx(); SkillConfig skillConfig = nextLvInfo.SkillData.GetSkillConfig(upConfig.ID); //确认找到了技能 if (upConfig.ID > 0 && skillConfig.ID > 0) { objUpLvTips.SetActive(false); objUpSkill.SetActive(true); objAtts.SetActive(false); object[] data = GetSkillParam(skillConfig);//new object[skillConfig.effectValue.Length]; // for (int j = 0; j < skillConfig.effectValue.Length; j++) // { // data[j] = skillConfig.effectValue[j]; // } imgNewSkill4Up.icon_name = skillConfig.icon; txtSkillName4Up.text = LanguageManager.Instance.Text(skillConfig.name); txSkillDesc4Up.text = LanguageManager.Instance.Text(skillConfig.desc, data); //解锁技能 if (upConfig.skillLv == 1) { txSkillUp.text = LanguageManager.Instance.Text(61); rtSkillUpDi.sizeDelta = new Vector2(80, rtSkillUpDi.sizeDelta.y); } //技能升级 else { txSkillUp.text = LanguageManager.Instance.Text(62, upConfig.skillLv -1 , upConfig.skillLv); rtSkillUpDi.sizeDelta = new Vector2(120, rtSkillUpDi.sizeDelta.y); } } else { objUpSkill.SetActive(false); objUpLvTips.SetActive(true); objAtts.SetActive(true); SetAttInfo(heroInfo, nextLvInfo); } } public void OpenPromotePre(HeroInfo heroInfo) { objPromote.SetActive(true); objUpgrade.SetActive(false); rtPromoteBg.sizeDelta = new Vector2(rtUpgradeBg.sizeDelta.x, GlobalParam.Hero_Promote_UI_BG_Only_Star_Height); HeroInfo nextLvInfo = new HeroInfo(); nextLvInfo.InitHero(heroInfo.modelID, heroInfo.powerUpConfig.ID, heroInfo.promoteConfig.ID + 1); SkillUpConfig upConfig = PlayerManager.Instance.heroController.GetSkillUpConfig4Star(nextLvInfo.star.Value); SetAttInfo(heroInfo, nextLvInfo); HeroUITools.SetStarShow(Stars1, heroInfo.star.Value); HeroUITools.SetStarShow(Stars2, nextLvInfo.star.Value); // LayoutRebuilder.ForceRebuildLayoutImmediate(Stars1Layout.GetComponent()); // LayoutRebuilder.ForceRebuildLayoutImmediate(Stars2Layout.GetComponent()); SkillConfig skillConfig = nextLvInfo.SkillData.GetSkillConfig(upConfig.ID); if (upConfig.ID > 0 && skillConfig.ID > 0) { rtPromoteBg.sizeDelta = new Vector2(rtUpgradeBg.sizeDelta.x, GlobalParam.Hero_Promote_UI_BG_Unlock_Skill_Height); objProSkillUnlock.SetActive(true); starsPos.localPosition = new Vector3(0, GlobalParam.Hero_Promote_UI_BG_Star_Pos_2, 0); // skillConfig = nextLvInfo.SkillData.GetSkillConfig(upConfig.ID); object[] data = GetSkillParam(skillConfig); // if (skillConfig.SkillType == 5) // { // data = new object[skillConfig.addPropertyValue.Length]; // for (int j = 0; j < skillConfig.addPropertyValue.Length; j++) // { // data[j] = skillConfig.addPropertyValue[j]; // } // } // else // { // data = new object[skillConfig.effectValue.Length]; // for (int j = 0; j < skillConfig.effectValue.Length; j++) // { // data[j] = skillConfig.effectValue[j]; // } // } imgNewSkill4Pro.icon_name = skillConfig.icon; txtSkillName4Pro.text = LanguageManager.Instance.Text(skillConfig.name); txSkillLvDesc4Pro.text = LanguageManager.Instance.Text(skillConfig.desc, data); } else { objProSkillUnlock.SetActive(false); starsPos.localPosition = Vector3.zero; } // objProSkillUnlock.SetActive(false); // objProSkillUp.SetActive(false); } private object[] GetSkillParam(SkillConfig skillConfig) { object[] data = null; if (skillConfig.SkillType == 5) { data = new object[skillConfig.addPropertyValue.Length]; for (int j = 0; j < skillConfig.addPropertyValue.Length; j++) { data[j] = skillConfig.addPropertyValue[j]; } } else { data = new object[skillConfig.effectValue.Length]; for (int j = 0; j < skillConfig.effectValue.Length; j++) { data[j] = skillConfig.effectValue[j]; } } return data; } private void SetAttInfo(HeroInfo heroInfo, HeroInfo nextLvInfo) { objAtts.SetActive(true); txtHPUpLv1.text = heroInfo.hp.Value.ToStringEx(); txtHPUpLv2.text = nextLvInfo.hp.Value.ToStringEx(); txtATKUpLv1.text = heroInfo.attack.Value.ToStringEx(); txtATKUpLv2.text = nextLvInfo.attack.Value.ToStringEx(); txtDEFUpLv1.text = heroInfo.defense.Value.ToStringEx(); txtDEFUpLv2.text = nextLvInfo.defense.Value.ToStringEx(); txtSHANBIUpLv1.text = heroInfo.shanbi.Value.ToStringEx(); txtSHANBIUpLv2.text = nextLvInfo.shanbi.Value.ToStringEx(); } } }