CombatPanel.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. using System.Collections.Generic;
  2. using Common.Utility.CombatEvent;
  3. using Excel2Json;
  4. using Fort23.Core;
  5. using GameLogic.Combat.CombatTool;
  6. using UnityEngine;
  7. namespace Fort23.Mono
  8. {
  9. [UIBinding(prefab = "CombatPanel")]
  10. public partial class CombatPanel : UIPanel
  11. {
  12. public static void OpenCombatPanel(CTaskAwaitBuffer cTaskAwaitBuffer)
  13. {
  14. cTaskAwaitBuffer.AddTask(UIManager.Instance.LoadAndOpenPanel<CombatPanel>(null, UILayer.Middle));
  15. // cTaskAwaitBuffer.AddTask(AssetBundleLoadManager.Instance.LoadAssetAsyncTask<Font>("hd_0.fontsettings",
  16. // delegate(AssetHandle handle) { huiFuFont = handle.AssetObject<Font>(); }));
  17. //
  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.AddRandomEvent, AddRandomEventEventData);
  27. CombatEventManager.Instance.AddEventListener(CombatEventType.GameStart, GameStart);
  28. CombatEventManager.Instance.AddEventListener(CombatEventType.AddMagicWeaponHeroEntity,
  29. AddMagicWeaponHeroEntity);
  30. StaticUpdater.Instance.AddLateUpdateCallBack(Update);
  31. CameraSelect.value = 0.7f;
  32. }
  33. private async void AddMagicWeaponHeroEntity(IEventData ieveData)
  34. {
  35. AddMagicWeaponHeroEntityEventData eventData = ieveData as AddMagicWeaponHeroEntityEventData;
  36. MagicWeaponWidget shengShiEventWidget =
  37. await UIManager.Instance.CreateGComponentForObject<MagicWeaponWidget>(MagicWeaponWidget, null,
  38. MagicWeapon,
  39. isInstance: true);
  40. shengShiEventWidget.InitWidget(eventData.CombatMagicWeaponEntity);
  41. // shengShiEventWidget.InitShengShiEventWidget(configId);
  42. }
  43. private async void AddRandomEventEventData(IEventData ieveData)
  44. {
  45. AddRandomEventEventData eventData = ieveData as AddRandomEventEventData;
  46. int configId = eventData.randomEventID;
  47. ShengShiEventWidget shengShiEventWidget =
  48. await UIManager.Instance.CreateGComponentForObject<ShengShiEventWidget>(ShengShiEventWidget, null,
  49. DynamicEvent,
  50. isInstance: true);
  51. shengShiEventWidget.InitShengShiEventWidget(configId);
  52. }
  53. private async void GameStart(IEventData ieveData)
  54. {
  55. HeroHpWidget heroHpWidget =
  56. await UIManager.Instance.CreateGComponentForObject<HeroHpWidget>(PlayerHpWidget, null);
  57. heroHpWidget.size = 250;
  58. heroHpWidget.shieldSize = 100;
  59. heroHpWidget.isFollowTarget = false;
  60. heroHpWidget.Init(CombatController.currActiveCombat.CombatHeroController.playerHeroEntity);
  61. }
  62. protected override void DelEvent()
  63. {
  64. CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddRandomEvent, AddRandomEventEventData);
  65. CombatEventManager.Instance.RemoveEventListener(CombatEventType.GameStart, GameStart);
  66. CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddMagicWeaponHeroEntity,
  67. AddMagicWeaponHeroEntity);
  68. StaticUpdater.Instance.RemoveLateUpdateCallBack(Update);
  69. }
  70. public override void AddButtonEvent()
  71. {
  72. bnt_shengShi.onClick.AddListener(Bnt_shengShi_onClick);
  73. CameraSelect.onValueChanged.AddListener(CameraSelect_onValueChanged);
  74. AutoUse.onValueChanged.AddListener((x) =>
  75. {
  76. CombatController.currActiveCombat.CombatHeroController.playerHeroEntity.MagicWeaponControl.isAutoUse =
  77. x;
  78. });
  79. }
  80. private async void Bnt_shengShi_onClick()
  81. {
  82. UIManager.Instance.DormancyAllGComponent<ShengShiEventWidget>();
  83. CombatController.currActiveCombat.CombatSenceController.StartPayShengShi(CombatController.currActiveCombat
  84. .CombatHeroController.playerHeroEntity.GameObject.transform);
  85. List<EventConfig> eventConfigs = EventSystemManager.Instance.DetectEvents(1);
  86. if(eventConfigs == null || eventConfigs.Count == 0)
  87. return;
  88. for (var i = 0; i < eventConfigs.Count; i++)
  89. {
  90. ShengShiEventWidget shengShiEventWidget =
  91. await UIManager.Instance.CreateGComponentForObject<ShengShiEventWidget>(ShengShiEventWidget, null,
  92. DynamicEvent,
  93. isInstance: true);
  94. shengShiEventWidget.InitShengShiEventWidget(eventConfigs[i].ID);
  95. }
  96. //
  97. // CombatController.currActiveCombat.RandomEventController.StartRandomEvent(CombatController.currActiveCombat
  98. // .CombatHeroController.playerHeroEntity.GameObject.transform);
  99. }
  100. private void CameraSelect_onValueChanged(float value)
  101. {
  102. if (CombatController.currActiveCombat == null ||
  103. CombatController.currActiveCombat.CombatCameraControllder == null)
  104. {
  105. return;
  106. }
  107. CombatController.currActiveCombat.CombatCameraControllder.CameraSelect_onValueChanged(value);
  108. }
  109. public void Update()
  110. {
  111. }
  112. }
  113. }