CombatPanel.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. using System;
  2. using System.Collections.Generic;
  3. using Common.Utility.CombatEvent;
  4. using Excel2Json;
  5. using Fort23.Core;
  6. using GameLogic.Bag;
  7. using GameLogic.Combat.CombatTool;
  8. using GameLogic.Combat.Skill;
  9. using UnityEngine;
  10. namespace Fort23.Mono
  11. {
  12. [UIBinding(prefab = "CombatPanel")]
  13. public partial class CombatPanel : UIPanel
  14. {
  15. private ZhuanPanPanel zhuanPanLogic;
  16. public static void OpenCombatPanel(CTaskAwaitBuffer cTaskAwaitBuffer)
  17. {
  18. cTaskAwaitBuffer.AddTask(UIManager.Instance.LoadAndOpenPanel<CombatPanel>(null, UILayer.Middle));
  19. }
  20. protected override async CTask ProOpen()
  21. {
  22. zhuanPanLogic =
  23. await UIManager.Instance.CreateGComponentForObject<ZhuanPanPanel>(ZhuanPanPanel, null, null);
  24. zhuanPanLogic.ShowPanel();
  25. }
  26. private void Init()
  27. {
  28. }
  29. protected override void AddEvent()
  30. {
  31. CombatEventManager.Instance.AddEventListener(CombatEventType.GameStart, GameStart);
  32. CombatEventManager.Instance.AddEventListener(CombatEventType.AddMagicWeaponHeroEntity,
  33. AddMagicWeaponHeroEntity);
  34. CombatEventManager.Instance.AddEventListener(CombatEventType.AddUseGongFa, AddUseGongFa);
  35. StaticUpdater.Instance.AddLateUpdateCallBack(Update);
  36. CameraSelect.value = 0.7f;
  37. }
  38. private async void AddUseGongFa(IEventData ieveData)
  39. {
  40. AddUseGongFaEventData eventData = ieveData as AddUseGongFaEventData;
  41. SkillBasic skillBasic = eventData.SkillBasic;
  42. if (skillBasic.CombatHeroEntity.IsEnemy)
  43. {
  44. return;
  45. }
  46. UseQuqueSkill useQuqueSkill =
  47. await UIManager.Instance.CreateGComponentForObject<UseQuqueSkill>(UseQuqueSkill, null,
  48. UseQuqueSkillRoot, isInstance: true);
  49. useQuqueSkill.ShowWidget(skillBasic);
  50. useQuqueSkill.transform.SetAsLastSibling();
  51. }
  52. private async void AddMagicWeaponHeroEntity(IEventData ieveData)
  53. {
  54. AddMagicWeaponHeroEntityEventData eventData = ieveData as AddMagicWeaponHeroEntityEventData;
  55. MagicWeaponWidget shengShiEventWidget =
  56. await UIManager.Instance.CreateGComponentForObject<MagicWeaponWidget>(MagicWeaponWidget, null,
  57. MagicWeapon,
  58. isInstance: true);
  59. shengShiEventWidget.InitWidget(eventData.CombatMagicWeaponEntity);
  60. // shengShiEventWidget.InitShengShiEventWidget(configId);
  61. }
  62. private async void GameStart(IEventData ieveData)
  63. {
  64. HeroHpWidget heroHpWidget =
  65. await UIManager.Instance.CreateGComponentForObject<HeroHpWidget>(PlayerHpWidget, null);
  66. heroHpWidget.size = 250;
  67. heroHpWidget.shieldSize = 100;
  68. heroHpWidget.isFollowTarget = false;
  69. heroHpWidget.Init(CombatController.currActiveCombat.CombatHeroController.playerHeroEntity);
  70. CombatHeroEntity[] allEnemy = CombatController.currActiveCombat.CombatHeroController.GetHero(true);
  71. for (int i = 0; i < allEnemy.Length; i++)
  72. {
  73. CombatHeroEntity enemy = allEnemy[i];
  74. BossHpWidget bossHpWidget =
  75. await UIManager.Instance.CreateGComponentForObject<BossHpWidget>(BossHpWidget, null, BossHpRoot,
  76. isInstance: true);
  77. bossHpWidget.ShowWidget(enemy);
  78. }
  79. }
  80. protected override void DelEvent()
  81. {
  82. CombatEventManager.Instance.RemoveEventListener(CombatEventType.GameStart, GameStart);
  83. CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddMagicWeaponHeroEntity,
  84. AddMagicWeaponHeroEntity);
  85. StaticUpdater.Instance.RemoveLateUpdateCallBack(Update);
  86. }
  87. public override void AddButtonEvent()
  88. {
  89. CameraSelect.onValueChanged.AddListener(CameraSelect_onValueChanged);
  90. AutoUse.onValueChanged.AddListener((x) =>
  91. {
  92. CombatController.currActiveCombat.CombatHeroController.playerHeroEntity.MagicWeaponControl.isAutoUse =
  93. x;
  94. });
  95. }
  96. private void CameraSelect_onValueChanged(float value)
  97. {
  98. if (CombatController.currActiveCombat == null ||
  99. CombatController.currActiveCombat.CombatCameraControllder == null)
  100. {
  101. return;
  102. }
  103. CombatController.currActiveCombat.CombatCameraControllder.CameraSelect_onValueChanged(value);
  104. }
  105. public void Update()
  106. {
  107. }
  108. }
  109. }