CombatShowTextPanel.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using Common.Utility.CombatEvent;
  2. using Fort23.Core;
  3. using GameLogic.Combat.CombatTool;
  4. using UnityEngine;
  5. using Utility;
  6. namespace Fort23.Mono
  7. {
  8. [UIBinding(prefab = "CombatShowTextPanel")]
  9. public partial class CombatShowTextPanel : UIPanel
  10. {
  11. // public static Font huiFuFont;
  12. // public static Font shangHai;
  13. public static void OpenCombatShowTextPanel(CTaskAwaitBuffer cTaskAwaitBuffer)
  14. {
  15. cTaskAwaitBuffer.AddTask(UIManager.Instance.LoadAndOpenPanel<CombatShowTextPanel>(null, UILayer.Middle));
  16. // cTaskAwaitBuffer.AddTask(AssetBundleLoadManager.Instance.LoadAssetAsyncTask<Font>("hd_0.fontsettings",
  17. // delegate(AssetHandle handle) { huiFuFont = handle.AssetObject<Font>(); }));
  18. //
  19. // cTaskAwaitBuffer.AddTask(AssetBundleLoadManager.Instance.LoadAssetAsyncTask<Font>("Zhanli_0.fontsettings",
  20. // delegate(AssetHandle handle) { shangHai = handle.AssetObject<Font>(); }));
  21. }
  22. private void Init()
  23. {
  24. }
  25. protected override void AddEvent()
  26. {
  27. CombatEventManager.Instance.AddEventListener(CombatEventType.HarmUpdate, HarmUpdate);
  28. CombatEventManager.Instance.AddEventListener(CombatEventType.RecoverUpdate, RecoverUpdate);
  29. }
  30. protected override void DelEvent()
  31. {
  32. CombatEventManager.Instance.RemoveEventListener(CombatEventType.HarmUpdate, HarmUpdate);
  33. CombatEventManager.Instance.AddEventListener(CombatEventType.RecoverUpdate, RecoverUpdate);
  34. }
  35. public override void AddButtonEvent()
  36. {
  37. }
  38. private async void RecoverUpdate(IEventData iEventData)
  39. {
  40. HarmUpdateEventData harmUpdateEventData = iEventData as HarmUpdateEventData;
  41. HarmReturnInfo harmReturnInfo = harmUpdateEventData.HarmReturnInfo;
  42. CombatHeroEntity heroEntity = harmReturnInfo.target.combatHeroEntity;
  43. long att = harmReturnInfo.att;
  44. HarmType harmType = harmReturnInfo.harmType;
  45. ShowTextWidget widget =
  46. await UIManager.Instance.CreateGComponentForObject<ShowTextWidget>(ShowTextWidget, null, transform,
  47. isInstance: true);
  48. widget.ShowUI(heroEntity, att, harmType, false);
  49. }
  50. private async void HarmUpdate(IEventData iEventData)
  51. {
  52. HarmUpdateEventData harmUpdateEventData = iEventData as HarmUpdateEventData;
  53. HarmReturnInfo harmReturnInfo = harmUpdateEventData.HarmReturnInfo;
  54. CombatHeroEntity heroEntity = harmReturnInfo.target.combatHeroEntity;
  55. long att = harmReturnInfo.att;
  56. HarmType harmType = harmReturnInfo.harmType;
  57. ShowTextWidget widget =
  58. await UIManager.Instance.CreateGComponentForObject<ShowTextWidget>(ShowTextWidget, null, transform,
  59. isInstance: true);
  60. widget.ShowUI(heroEntity, att, harmType, true);
  61. }
  62. }
  63. }