CombatShowTextPanel.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. public override async CTask Open()
  39. {
  40. await base.Open();
  41. transform.SetSiblingIndex(0);
  42. }
  43. private async void RecoverUpdate(IEventData iEventData)
  44. {
  45. HarmUpdateEventData harmUpdateEventData = iEventData as HarmUpdateEventData;
  46. HarmReturnInfo harmReturnInfo = harmUpdateEventData.HarmReturnInfo;
  47. CombatHeroEntity heroEntity = harmReturnInfo.target.combatHeroEntity as CombatHeroEntity;
  48. long att = harmReturnInfo.att;
  49. HarmType harmType = harmReturnInfo.harmType;
  50. ShowTextWidget widget =
  51. await UIManager.Instance.CreateGComponentForObject<ShowTextWidget>(ShowTextWidget, null, transform,
  52. isInstance: true);
  53. widget.ShowUI(heroEntity, att, harmType, false);
  54. }
  55. private async void HarmUpdate(IEventData iEventData)
  56. {
  57. HarmUpdateEventData harmUpdateEventData = iEventData as HarmUpdateEventData;
  58. HarmReturnInfo harmReturnInfo = harmUpdateEventData.HarmReturnInfo;
  59. CombatHeroEntity heroEntity = harmReturnInfo.target.combatHeroEntity as CombatHeroEntity;
  60. long att = harmReturnInfo.att;
  61. HarmType harmType = harmReturnInfo.harmType;
  62. ShowTextWidget widget =
  63. await UIManager.Instance.CreateGComponentForObject<ShowTextWidget>(ShowTextWidget, null, transform,
  64. isInstance: true);
  65. widget.ShowUI(heroEntity, att, harmType, true);
  66. }
  67. }
  68. }