using System.Threading.Tasks; using Common.Utility.CombatEvent; using Fort23.Core; using GameLogic.Combat.CombatTool; using GameLogic.Combat.CombatType; using GameLogic.Hero; using UnityEngine; namespace Fort23.Mono { [UIBinding(prefab = "MainUIPanel")] public partial class MainUIPanel : UIPanel { private void Init() { InitBattleHero(); } protected override void AddEvent() { CombatEventManager.Instance.AddEventListener(CombatEventType.CombatExpAlter, CombatExpAlter); } protected override void DelEvent() { CombatEventManager.Instance.RemoveEventListener(CombatEventType.CombatExpAlter, CombatExpAlter); } public override void AddButtonEvent() { } private void CombatExpAlter(IEventData eventData) { ExpAlter(); } private void ExpAlter() { if (CombatController.currActiveCombat == null || CombatController.currActiveCombat.CombatTypeBasic == null) { return; } LevelBattleCombatType levelBattleCombatType = CombatController.currActiveCombat.CombatTypeBasic as LevelBattleCombatType; float bl = (levelBattleCombatType.exp * 1.0f) / levelBattleCombatType.CurrMaxExp; exp.value = bl; TextExp.text = levelBattleCombatType.exp + "/" + levelBattleCombatType.CurrMaxExp; } private async void InitBattleHero() { for (int i = 0; i < PlayerManager.Instance.heroListInLead.Count; i++) { RectTransform rectTransform = hero_battle[i] as RectTransform; WidgetHero itemHero = await UIManager.Instance.CreateGComponent(null, poolName: "WidgetHero", root: rectTransform); itemHero.InitHero(PlayerManager.Instance.heroListInLead[i]); } } } }