using Framework; using Gameplay.Unit; using LTGame; using TGS; using UnityEngine; namespace Gameplay.Level { public class LevelStateEnd : BaseLevelState { public LevelStateEnd(Level level) : base(level, ELevelState.End) { } protected override async void _OnEnter(NBaseState exitState, object param) { base._OnEnter(exitState, param); _level.SetPause(true); EventManager.Instance.Send(EventManager.EventName.FightStoryHide); _WaitBlackOut(); var level = LevelManager.Instance.CurrentLevel; if (level != null) { var levelInfo = level.GetLevelInfo(); if (levelInfo != null && levelInfo.fightStoryData != null) { if (LevelManager.Instance.IsFightStorySettle) { DebugUtil.Log("FightStory Level Settle"); await LevelManager.Instance.SettleFightStory(); } else { LevelManager.Instance.IsFightStorySettle = true; } } } //EventManager.Instance.Register(EventManager.EventName.FightStorySettle, _OnSettle); } protected override void _OnCellClick(TerrainGridSystem tgs, int cellIndex, int buttonIndex) { } protected override void _OnClick(Vector2 screenPosition) { } // protected override void _OnExit(NBaseState exitState, object param) // { // base._OnExit(exitState, param); // // //EventManager.Instance.Unregister(EventManager.EventName.FightStorySettle, _OnSettle); // } // private void _OnSettle() // { // // } } }