using Common.Utility.CombatEvent; using Core.Language; using Excel2Json; using Fort23.Core; using Fort23.UTool; using GameLogic.Hero; using UnityEngine.UI; namespace Fort23.Mono { [UIBinding(prefab = "HeroDetailPanel" )] public partial class HeroDetailPanel : UIPanel { private HeroInfo heroInfo; private void Init() { // InitHeroDetailPanel(); } protected override void AddEvent() { } protected override void DelEvent() { } public override void AddButtonEvent() { btnBack.onClick.AddListener(OnClickClose); btnUpgrade.onClick.AddListener(OnClickUpgrade); btnPromote.onClick.AddListener(OnClickPromote); } private void OnClickPromote() { } private void OnClickUpgrade() { heroInfo = heroInfo.Upgrade(); UpdateAttributeUI(); HeroLvUpgradeEventData data = new HeroLvUpgradeEventData(); data.heroModelID = heroInfo.modelID; PlayerManager.Instance.lastHeroInfo = heroInfo; EventManager.Instance.Dispatch(CustomEventType.HeroUpgrade, data); } private void OnClickClose() { UIManager.Instance.HideUIUIPanel(this); } public void InitHeroDetailPanel(HeroInfo heroInfo) { this.heroInfo = heroInfo; iconZhiYe.icon_name = heroInfo.iconZhiYe; heroName.text = LanguageManager.Instance.Text(heroInfo.modelConfig.name); HeroUITools.SetStarShow(stars, heroInfo.star.Value); switch (heroInfo.modelConfig.rarity) { case 1: heroRarity.text = LanguageManager.Instance.Text(32); break; case 2: heroRarity.text = LanguageManager.Instance.Text(31); break; case 3: heroRarity.text = LanguageManager.Instance.Text(30); break; default: LogTool.Error("找不到hero的稀有度:" + heroInfo.modelConfig.ID); break; } UpdateAttributeUI(); } public void UpdateAttributeUI() { txtHP.text = heroInfo.hp.Value.ToString(); txtATK.text = heroInfo.attack.Value.ToString(); txtDEF.text = heroInfo.defense.Value.ToString(); txtSHANBI.text = heroInfo.shanbi.Value.ToString(); txtLv.text = heroInfo.level.Value.ToString(); txtExpGain.text = heroInfo.expGain.Value.ToString(); } } }