123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- using Common.Utility.CombatEvent;
- using Fort23.Core;
- using GameLogic.Combat.Hero;
- using Utility;
- namespace Fort23.Mono
- {
- [UIBinding(prefab = "CombatHPPanel")]
- public partial class CombatHPPanel : UIPanel
- {
- private Map<IHero, int> currTargetHeroHp = new Map<IHero, int>();
- public static async CTask OpenCombatHPPanel()
- {
- await UIManager.Instance.LoadAndOpenPanel<CombatHPPanel>(null, UILayer.Bottom);
- }
-
- public static async CTask CloseCombatHPPanel()
- {
- UIManager.Instance.HideUIUIPanel<CombatHPPanel>();
- }
- private void Init()
- {
- }
- protected override void AddEvent()
- {
- EventManager.Instance.AddEventListener(CustomEventType.CreateHeroHp, CreateHeroHp);
- // CombatEventManager.Instance.AddEventListener(CombatEventType.TargetAlter, TargetAlter);
- }
- protected override void DelEvent()
- {
- // CombatEventManager.Instance.RemoveEventListener(CombatEventType.TargetAlter, TargetAlter);
- EventManager.Instance.RemoveEventListener(CustomEventType.CreateHeroHp, CreateHeroHp);
- }
- public override void AddButtonEvent()
- {
- }
- private async void TargetAlter(IEventData iEventData)
- {
- CombatHeroTargetAlterEventData combatHeroTargetAlterEventData =
- iEventData as CombatHeroTargetAlterEventData;
- if (combatHeroTargetAlterEventData.combatHeroEntity.IsEnemy)
- {
- return;
- }
- if (combatHeroTargetAlterEventData.targetCombatHeroEntity != null)
- {
- CombatHeroEntity t = combatHeroTargetAlterEventData.targetCombatHeroEntity as CombatHeroEntity;
- if (t != null)
- {
- if (t.CurrCombatHeroInfo.heroType == 4||t.CurrCombatHeroInfo.heroType ==3)
- {
- return;
- }
- if (!currTargetHeroHp.TryGetValue(combatHeroTargetAlterEventData.targetCombatHeroEntity,
- out int count))
- {
- }
- if (count <= 0)
- {
- CreateHpUI(t);
- }
- count++;
- currTargetHeroHp[t] = count;
- }
- }
- if (combatHeroTargetAlterEventData.lasetCombatHeroEntity != null)
- {
- CombatHeroEntity t = combatHeroTargetAlterEventData.lasetCombatHeroEntity as CombatHeroEntity;
-
- if (t != null)
- {
- if (t.CurrCombatHeroInfo.heroType == 4||t.CurrCombatHeroInfo.heroType ==3)
- {
- return;
- }
- if (currTargetHeroHp.TryGetValue(combatHeroTargetAlterEventData.lasetCombatHeroEntity,
- out int count))
- {
- count--;
- if (count <= 0)
- {
- currTargetHeroHp.Remove(combatHeroTargetAlterEventData.lasetCombatHeroEntity);
- HeroHpUpdateEventData heroHpUpdateEventData = HeroHpUpdateEventData.Create();
- heroHpUpdateEventData.combatHeroEntity = t;
- CombatEventManager.Instance.Dispatch(CombatEventType.ClearHeroHp, heroHpUpdateEventData);
- }
- else
- {
- currTargetHeroHp[t] = count;
- }
-
- }
- }
- }
- }
- private async void CreateHpUI(CombatHeroEntity combatHeroEntity)
- {
- // CombatHeroEntity combatHeroEntity = createHeroHpEventData.combatHeroEntity;
- HeroHpWidget heroHpWidget =
- await UIManager.Instance.CreateGComponentForObject<HeroHpWidget>(HeroHpWidget, null, transform,
- isInstance: true);
- heroHpWidget.Init(combatHeroEntity);
- }
- private async void CreateHeroHp(IEventData iEventData)
- {
- CreateHeroHpEventData createHeroHpEventData = iEventData as CreateHeroHpEventData;
- CombatHeroEntity combatHeroEntity = createHeroHpEventData.combatHeroEntity;
- CreateHpUI(combatHeroEntity);
- }
- public override void Close()
- {
- UIManager.Instance.DormancyAllGComponent<HeroHpWidget>();
- base.Close();
- }
- }
- }
|