CombatShowTextPanel.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. isAddStack = false;
  25. }
  26. protected override void AddEvent()
  27. {
  28. CombatEventManager.Instance.AddEventListener(CombatEventType.HarmUpdate, HarmUpdate);
  29. CombatEventManager.Instance.AddEventListener(CombatEventType.RecoverUpdate, RecoverUpdate);
  30. }
  31. protected override void DelEvent()
  32. {
  33. CombatEventManager.Instance.RemoveEventListener(CombatEventType.HarmUpdate, HarmUpdate);
  34. CombatEventManager.Instance.AddEventListener(CombatEventType.RecoverUpdate, RecoverUpdate);
  35. }
  36. public override void AddButtonEvent()
  37. {
  38. }
  39. public override async CTask Open()
  40. {
  41. await base.Open();
  42. transform.SetSiblingIndex(0);
  43. }
  44. private async void RecoverUpdate(IEventData iEventData)
  45. {
  46. HarmUpdateEventData harmUpdateEventData = iEventData as HarmUpdateEventData;
  47. HarmReturnInfo harmReturnInfo = harmUpdateEventData.HarmReturnInfo;
  48. CombatHeroEntity heroEntity = harmReturnInfo.target.combatHeroEntity as CombatHeroEntity;
  49. long att = harmReturnInfo.att;
  50. HarmType harmType = harmReturnInfo.harmType;
  51. if (harmType.HasFlag(HarmType.Null))
  52. {
  53. return;
  54. }
  55. ShowTextWidget widget =
  56. await UIManager.Instance.CreateGComponentForObject<ShowTextWidget>(ShowTextWidget, null, transform,
  57. isInstance: true);
  58. widget.ShowUI(heroEntity, att, harmType, false);
  59. }
  60. private async void HarmUpdate(IEventData iEventData)
  61. {
  62. HarmUpdateEventData harmUpdateEventData = iEventData as HarmUpdateEventData;
  63. HarmReturnInfo harmReturnInfo = harmUpdateEventData.HarmReturnInfo;
  64. CombatHeroEntity heroEntity = harmReturnInfo.target.combatHeroEntity as CombatHeroEntity;
  65. long att = harmReturnInfo.att;
  66. HarmType harmType = harmReturnInfo.harmType;
  67. ShowTextWidget widget =
  68. await UIManager.Instance.CreateGComponentForObject<ShowTextWidget>(ShowTextWidget, null, transform,
  69. isInstance: true);
  70. widget.ShowUI(heroEntity, att, harmType, true);
  71. }
  72. }
  73. }