| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 | 
							- 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);
 
-         }
 
-         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 (!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 (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);
 
-         }
 
-     }
 
- }
 
 
  |