CombatPanel.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. StaticUpdater.Instance.AddLateUpdateCallBack(Update);
  27. CameraSelect.value = 0.7f;
  28. }
  29. private async void AddRandomEventEventData(IEventData ieveData)
  30. {
  31. AddRandomEventEventData eventData = ieveData as AddRandomEventEventData;
  32. int configId = eventData.randomEventID;
  33. ShengShiEventWidget shengShiEventWidget =
  34. await UIManager.Instance.CreateGComponentForObject<ShengShiEventWidget>(ShengShiEventWidget, null,
  35. DynamicEvent,
  36. isInstance: true);
  37. shengShiEventWidget.InitShengShiEventWidget(configId);
  38. }
  39. private async void GameStart(IEventData ieveData)
  40. {
  41. HeroHpWidget heroHpWidget =
  42. await UIManager.Instance.CreateGComponentForObject<HeroHpWidget>(PlayerHpWidget, null);
  43. heroHpWidget.size = 250;
  44. heroHpWidget.shieldSize = 100;
  45. heroHpWidget.isFollowTarget = false;
  46. heroHpWidget.Init(CombatController.currActiveCombat.CombatHeroController.playerHeroEntity);
  47. }
  48. protected override void DelEvent()
  49. {
  50. CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddRandomEvent, AddRandomEventEventData);
  51. CombatEventManager.Instance.RemoveEventListener(CombatEventType.GameStart, GameStart);
  52. StaticUpdater.Instance.RemoveLateUpdateCallBack(Update);
  53. }
  54. public override void AddButtonEvent()
  55. {
  56. bnt_shengShi.onClick.AddListener(Bnt_shengShi_onClick);
  57. CameraSelect.onValueChanged.AddListener(CameraSelect_onValueChanged);
  58. }
  59. private void Bnt_shengShi_onClick()
  60. {
  61. UIManager.Instance.DormancyAllGComponent<ShengShiEventWidget>();
  62. CombatController.currActiveCombat.RandomEventController.StartRandomEvent(CombatController.currActiveCombat
  63. .CombatHeroController.playerHeroEntity.GameObject.transform);
  64. }
  65. private void CameraSelect_onValueChanged(float value)
  66. {
  67. if (CombatController.currActiveCombat == null ||
  68. CombatController.currActiveCombat.CombatCameraControllder == null)
  69. {
  70. return;
  71. }
  72. CombatController.currActiveCombat.CombatCameraControllder.CameraSelect_onValueChanged(value);
  73. }
  74. public void Update()
  75. {
  76. }
  77. }
  78. }