CombatShowTextPanel.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. cTaskAwaitBuffer.AddTask(AssetBundleLoadManager.Instance.LoadAssetAsyncTask<Font>("Zhanli_0.fontsettings",
  19. delegate(AssetHandle handle) { shangHai = handle.AssetObject<Font>(); }));
  20. }
  21. private void Init()
  22. {
  23. }
  24. protected override void AddEvent()
  25. {
  26. CombatEventManager.Instance.AddEventListener(CombatEventType.HarmUpdate, HarmUpdate);
  27. CombatEventManager.Instance.AddEventListener(CombatEventType.RecoverUpdate, RecoverUpdate);
  28. }
  29. protected override void DelEvent()
  30. {
  31. CombatEventManager.Instance.RemoveEventListener(CombatEventType.HarmUpdate, HarmUpdate);
  32. CombatEventManager.Instance.AddEventListener(CombatEventType.RecoverUpdate, RecoverUpdate);
  33. }
  34. public override void AddButtonEvent()
  35. {
  36. }
  37. private async void RecoverUpdate(IEventData iEventData)
  38. {
  39. HarmUpdateEventData harmUpdateEventData = iEventData as HarmUpdateEventData;
  40. HarmReturnInfo harmReturnInfo = harmUpdateEventData.HarmReturnInfo;
  41. ShowTextWidget widget =
  42. await UIManager.Instance.CreateGComponentForObject<ShowTextWidget>(ShowTextWidget, null, transform,
  43. isInstance: true);
  44. widget.ShowUI(harmReturnInfo,false);
  45. }
  46. private async void HarmUpdate(IEventData iEventData)
  47. {
  48. HarmUpdateEventData harmUpdateEventData = iEventData as HarmUpdateEventData;
  49. HarmReturnInfo harmReturnInfo = harmUpdateEventData.HarmReturnInfo;
  50. ShowTextWidget widget =
  51. await UIManager.Instance.CreateGComponentForObject<ShowTextWidget>(ShowTextWidget, null, transform,
  52. isInstance: true);
  53. widget.ShowUI(harmReturnInfo,true);
  54. }
  55. }
  56. }