CombatShowTextPanel.cs 2.6 KB

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