CombatShowTextPanel.cs 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. ShowTextWidget widget =
  52. await UIManager.Instance.CreateGComponentForObject<ShowTextWidget>(ShowTextWidget, null, transform,
  53. isInstance: true);
  54. widget.ShowUI(heroEntity, att, harmType, false);
  55. }
  56. private async void HarmUpdate(IEventData iEventData)
  57. {
  58. HarmUpdateEventData harmUpdateEventData = iEventData as HarmUpdateEventData;
  59. HarmReturnInfo harmReturnInfo = harmUpdateEventData.HarmReturnInfo;
  60. CombatHeroEntity heroEntity = harmReturnInfo.target.combatHeroEntity as CombatHeroEntity;
  61. long att = harmReturnInfo.att;
  62. HarmType harmType = harmReturnInfo.harmType;
  63. ShowTextWidget widget =
  64. await UIManager.Instance.CreateGComponentForObject<ShowTextWidget>(ShowTextWidget, null, transform,
  65. isInstance: true);
  66. widget.ShowUI(heroEntity, att, harmType, true);
  67. }
  68. }
  69. }