using System.Collections.Generic; using Excel2Json; using Fort23.Core; using Fort23.UTool; using GameLogic.Combat; using GameLogic.Combat.CombatTool; using UnityEngine; namespace Fort23.Mono { [UIBinding(prefab = "MainPanel")] public partial class MainPanel : UIPanel { private void Init() { } protected override void AddEvent() { EventManager.Instance.AddEventListener(CustomEventType.DivineSensePointChange, DivineSensePointChange); EventManager.Instance.AddEventListener(CustomEventType.CompleteEvent, CompleteEvent); } private void CompleteEvent(IEventData e) { CreatShengShiEvent(); } private void DivineSensePointChange(IEventData e) { Text_divineSensePoint.text = $"{AccountFileInfo.Instance.playerData.divineSensePoint}/{PlayerManager.Instance.gameConstantConfig.DetectEventCount}"; } protected override void DelEvent() { EventManager.Instance.RemoveEventListener(CustomEventType.DivineSensePointChange, DivineSensePointChange); EventManager.Instance.RemoveEventListener(CustomEventType.CompleteEvent, CompleteEvent); } public override void AddButtonEvent() { bnt_shengShi.onClick.AddListener(Bnt_shengShi_onClick); } public override CTask AsyncInit(object[] uiData) { Text_divineSensePoint.text = $"{AccountFileInfo.Instance.playerData.divineSensePoint}/{PlayerManager.Instance.gameConstantConfig.DetectEventCount}"; CreatShengShiEvent(); return base.AsyncInit(uiData); } private async void Bnt_shengShi_onClick() { // EventSystemManager.Instance.DetectRandomEvents(); if (AccountFileInfo.Instance.playerData.divineSensePoint < PlayerManager.Instance.gameConstantConfig.DetectEventCount) { TipMessagePanel.OpenTipMessagePanel("神识值不够!"); return; } CombatController.currActiveCombat.CombatSenceController.StartPayShengShi(CombatController.currActiveCombat .CombatHeroController.playerHeroEntity.GameObject.transform); List eventLists = EventSystemManager.Instance.UseDivinesense(1); if (eventLists == null || eventLists.Count == 0) return; AccountFileInfo.Instance.playerData.eventList.AddRange(eventLists); CreatShengShiEvent(); } public async void CreatShengShiEvent() { UIManager.Instance.DormancyAllGComponent(); for (var i = 0; i < AccountFileInfo.Instance.playerData.eventList.Count; i++) { ShengShiEventWidget shengShiEventWidget = await UIManager.Instance.CreateGComponentForObject(ShengShiEventWidget, null, DynamicEvent, isInstance: true); shengShiEventWidget.InitShengShiEventWidget(AccountFileInfo.Instance.playerData.eventList[i]); } } [CustomMethod(CustomMethodType.Update)] public void Update() { if (Input.GetKeyDown(KeyCode.Y)) { // EventSystemManager.Instance.DetectRandomEvents(); CombatDrive.Instance.LoadLevelBattleCombat(100001, delegate(bool isWin) { LogTool.Log("战斗完成"+isWin); }); } } public async static CTask OpenPanel() { await UIManager.Instance.LoadAndOpenPanel(null); } } }