12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- using System.Collections.Generic;
- 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);
- EventManager.Instance.AddEventListener(CustomEventType.HeroUpgrade, OnHeroUpgrade);
- }
- protected override void DelEvent()
- {
- CombatEventManager.Instance.RemoveEventListener(CombatEventType.CombatExpAlter, CombatExpAlter);
- EventManager.Instance.RemoveEventListener(CustomEventType.HeroUpgrade, OnHeroUpgrade);
- }
- 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 void OnHeroUpgrade(IEventData eventData)
- {
- HeroLvUpgradeEventData data = eventData as HeroLvUpgradeEventData;
- HeroInfo heroInfo = (HeroInfo)PlayerManager.Instance.GetHeroInfo(data.heroModelID);
- foreach (WidgetHero widgetHero in widgetHeroes)
- {
- if (widgetHero.heroInfo.modelID == heroInfo.modelID)
- {
- widgetHero.UpdateHero(heroInfo);
- break;
- }
- }
- }
-
- private List<WidgetHero> widgetHeroes = new List<WidgetHero>();
-
- private async void InitBattleHero()
- {
- widgetHeroes.Clear();
- for (int i = 0; i < PlayerManager.Instance.heroListInLead.Count; i++)
- {
- RectTransform rectTransform = hero_battle[i] as RectTransform;
- WidgetHero itemHero = await UIManager.Instance.CreateGComponent<WidgetHero>(null,
- poolName: "WidgetHero", root: rectTransform);
- itemHero.InitHero(PlayerManager.Instance.heroListInLead[i]);
-
- widgetHeroes.Add(itemHero);
- }
- }
- }
- }
|