BuffWidget.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using Common.Utility.CombatEvent;
  2. using Fort23.Core;
  3. using GameLogic.Combat.Buff;
  4. namespace Fort23.Mono
  5. {
  6. [UIBinding(prefab = "BuffWidget")]
  7. public partial class BuffWidget : UIComponent
  8. {
  9. private BuffBasic buffBasic;
  10. private void Init()
  11. {
  12. }
  13. public override void AddEvent()
  14. {
  15. CombatEventManager.Instance.AddEventListener(CombatEventType.RemoveBuff,
  16. AddBuff);
  17. StaticUpdater.Instance.AddRenderUpdateCallBack(Update);
  18. }
  19. public override void DelEvent()
  20. {
  21. CombatEventManager.Instance.RemoveEventListener(CombatEventType.RemoveBuff,
  22. AddBuff);
  23. buffBasic = null;
  24. StaticUpdater.Instance.RemoveRenderUpdateCallBack(Update);
  25. }
  26. public override void AddButtonEvent()
  27. {
  28. }
  29. private async void AddBuff(IEventData iEventData)
  30. {
  31. BuffEventData buffEventData = iEventData as BuffEventData;
  32. if (buffEventData.BuffBasic == buffBasic)
  33. {
  34. UIManager.Instance.DormancyGComponent(this);
  35. }
  36. }
  37. private void Update()
  38. {
  39. }
  40. public void InitBuff(BuffBasic buffBasic)
  41. {
  42. this.buffBasic = buffBasic;
  43. }
  44. }
  45. }