MainPanel.cs 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using System.Collections.Generic;
  2. using Excel2Json;
  3. using Fort23.Core;
  4. using GameLogic.Combat.CombatTool;
  5. using UnityEngine;
  6. namespace Fort23.Mono
  7. {
  8. [UIBinding(prefab = "MainPanel")]
  9. public partial class MainPanel : UIPanel
  10. {
  11. private void Init()
  12. {
  13. }
  14. protected override void AddEvent()
  15. {
  16. EventManager.Instance.AddEventListener(CustomEventType.DivineSensePointChange, DivineSensePointChange);
  17. }
  18. private void DivineSensePointChange(IEventData e)
  19. {
  20. Text_divineSensePoint.text = $"{AccountFileInfo.Instance.playerData.divineSensePoint}/{PlayerManager.Instance.gameConstantConfig.DetectEventCount}";
  21. }
  22. protected override void DelEvent()
  23. {
  24. EventManager.Instance.RemoveEventListener(CustomEventType.DivineSensePointChange, DivineSensePointChange);
  25. }
  26. public override void AddButtonEvent()
  27. {
  28. bnt_shengShi.onClick.AddListener(Bnt_shengShi_onClick);
  29. }
  30. public override CTask<bool> AsyncInit(object[] uiData)
  31. {
  32. Text_divineSensePoint.text = $"{AccountFileInfo.Instance.playerData.divineSensePoint}/{PlayerManager.Instance.gameConstantConfig.DetectEventCount}";
  33. return base.AsyncInit(uiData);
  34. }
  35. private async void Bnt_shengShi_onClick()
  36. {
  37. // EventSystemManager.Instance.DetectRandomEvents();
  38. if (AccountFileInfo.Instance.playerData.divineSensePoint < PlayerManager.Instance.gameConstantConfig.DetectEventCount)
  39. {
  40. TipMessagePanel.OpenTipMessagePanel("神识值不够!");
  41. return;
  42. }
  43. UIManager.Instance.DormancyAllGComponent<ShengShiEventWidget>();
  44. CombatController.currActiveCombat.CombatSenceController.StartPayShengShi(CombatController.currActiveCombat
  45. .CombatHeroController.playerHeroEntity.GameObject.transform);
  46. List<EventConfig> eventConfigs = EventSystemManager.Instance.UseDivinesense(1);
  47. if (eventConfigs == null || eventConfigs.Count == 0)
  48. return;
  49. for (var i = 0; i < eventConfigs.Count; i++)
  50. {
  51. ShengShiEventWidget shengShiEventWidget =
  52. await UIManager.Instance.CreateGComponentForObject<ShengShiEventWidget>(ShengShiEventWidget, null,
  53. DynamicEvent,
  54. isInstance: true);
  55. shengShiEventWidget.InitShengShiEventWidget(eventConfigs[i].ID);
  56. }
  57. }
  58. [CustomMethod(CustomMethodType.Update)]
  59. public void Update()
  60. {
  61. if (Input.GetKeyDown(KeyCode.Y))
  62. {
  63. EventSystemManager.Instance.DetectRandomEvents();
  64. }
  65. }
  66. public async static CTask OpenPanel()
  67. {
  68. await UIManager.Instance.LoadAndOpenPanel<MainPanel>(null);
  69. }
  70. }
  71. }