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); CameraSelect.onValueChanged.AddListener(CameraSelect_onValueChanged); } public override CTask AsyncInit(object[] uiData) { Text_divineSensePoint.text = $"{AccountFileInfo.Instance.playerData.divineSensePoint}/{PlayerManager.Instance.gameConstantConfig.DetectEventCount}"; CreatShengShiEvent(); return base.AsyncInit(uiData); } public async override CTask Show() { await base.Show(); SkillSelectPanel.OpenSkillSelectPanel(); CameraSelect.value = 0.7f; } private void CameraSelect_onValueChanged(float value) { if (CombatController.currActiveCombat == null || CombatController.currActiveCombat.CombatCameraControllder == null) { return; } CombatController.currActiveCombat.CombatCameraControllder.CameraSelect_onValueChanged(value); } 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); AccountFileInfo.Instance.SavePlayerData(); 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); } } }