CombatPanel.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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 = "CombatPanel")]
  8. public partial class CombatPanel : UIPanel
  9. {
  10. public static void OpenCombatPanel(CTaskAwaitBuffer cTaskAwaitBuffer)
  11. {
  12. cTaskAwaitBuffer.AddTask(UIManager.Instance.LoadAndOpenPanel<CombatPanel>(null, UILayer.Middle));
  13. // cTaskAwaitBuffer.AddTask(AssetBundleLoadManager.Instance.LoadAssetAsyncTask<Font>("hd_0.fontsettings",
  14. // delegate(AssetHandle handle) { huiFuFont = handle.AssetObject<Font>(); }));
  15. //
  16. // cTaskAwaitBuffer.AddTask(AssetBundleLoadManager.Instance.LoadAssetAsyncTask<Font>("Zhanli_0.fontsettings",
  17. // delegate(AssetHandle handle) { shangHai = handle.AssetObject<Font>(); }));
  18. }
  19. private void Init()
  20. {
  21. }
  22. protected override void AddEvent()
  23. {
  24. CombatEventManager.Instance.AddEventListener(CombatEventType.AddRandomEvent, AddRandomEventEventData);
  25. CombatEventManager.Instance.AddEventListener(CombatEventType.GameStart, GameStart);
  26. CombatEventManager.Instance.AddEventListener(CombatEventType.AddMagicWeaponHeroEntity,
  27. AddMagicWeaponHeroEntity);
  28. StaticUpdater.Instance.AddLateUpdateCallBack(Update);
  29. CameraSelect.value = 0.7f;
  30. }
  31. private async void AddMagicWeaponHeroEntity(IEventData ieveData)
  32. {
  33. AddMagicWeaponHeroEntityEventData eventData = ieveData as AddMagicWeaponHeroEntityEventData;
  34. MagicWeaponWidget shengShiEventWidget =
  35. await UIManager.Instance.CreateGComponentForObject<MagicWeaponWidget>(MagicWeaponWidget, null,
  36. MagicWeapon,
  37. isInstance: true);
  38. shengShiEventWidget.InitWidget(eventData.CombatMagicWeaponEntity);
  39. // shengShiEventWidget.InitShengShiEventWidget(configId);
  40. }
  41. private async void AddRandomEventEventData(IEventData ieveData)
  42. {
  43. AddRandomEventEventData eventData = ieveData as AddRandomEventEventData;
  44. int configId = eventData.randomEventID;
  45. ShengShiEventWidget shengShiEventWidget =
  46. await UIManager.Instance.CreateGComponentForObject<ShengShiEventWidget>(ShengShiEventWidget, null,
  47. DynamicEvent,
  48. isInstance: true);
  49. shengShiEventWidget.InitShengShiEventWidget(configId);
  50. }
  51. private async void GameStart(IEventData ieveData)
  52. {
  53. HeroHpWidget heroHpWidget =
  54. await UIManager.Instance.CreateGComponentForObject<HeroHpWidget>(PlayerHpWidget, null);
  55. heroHpWidget.size = 250;
  56. heroHpWidget.shieldSize = 100;
  57. heroHpWidget.isFollowTarget = false;
  58. heroHpWidget.Init(CombatController.currActiveCombat.CombatHeroController.playerHeroEntity);
  59. }
  60. protected override void DelEvent()
  61. {
  62. CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddRandomEvent, AddRandomEventEventData);
  63. CombatEventManager.Instance.RemoveEventListener(CombatEventType.GameStart, GameStart);
  64. CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddMagicWeaponHeroEntity,
  65. AddMagicWeaponHeroEntity);
  66. StaticUpdater.Instance.RemoveLateUpdateCallBack(Update);
  67. }
  68. public override void AddButtonEvent()
  69. {
  70. bnt_shengShi.onClick.AddListener(Bnt_shengShi_onClick);
  71. CameraSelect.onValueChanged.AddListener(CameraSelect_onValueChanged);
  72. AutoUse.onValueChanged.AddListener((x) =>
  73. {
  74. CombatController.currActiveCombat.CombatHeroController.playerHeroEntity.MagicWeaponControl.isAutoUse =
  75. x;
  76. });
  77. }
  78. private void Bnt_shengShi_onClick()
  79. {
  80. UIManager.Instance.DormancyAllGComponent<ShengShiEventWidget>();
  81. CombatController.currActiveCombat.RandomEventController.StartRandomEvent(CombatController.currActiveCombat
  82. .CombatHeroController.playerHeroEntity.GameObject.transform);
  83. }
  84. private void CameraSelect_onValueChanged(float value)
  85. {
  86. if (CombatController.currActiveCombat == null ||
  87. CombatController.currActiveCombat.CombatCameraControllder == null)
  88. {
  89. return;
  90. }
  91. CombatController.currActiveCombat.CombatCameraControllder.CameraSelect_onValueChanged(value);
  92. }
  93. public void Update()
  94. {
  95. }
  96. }
  97. }