37 lines
783 B
C#
37 lines
783 B
C#
using Cysharp.Threading.Tasks;
|
|
using Framework;
|
|
using Gameplay;
|
|
using Gameplay.Level;
|
|
using Gameplay.SubSystems;
|
|
|
|
public class GameStateLevel : IState
|
|
{
|
|
private int _levelId;
|
|
public GameStateLevel(int levelId)
|
|
{
|
|
_levelId = levelId;
|
|
}
|
|
public void OnEnter()
|
|
{
|
|
_LoadLevel();
|
|
|
|
EventManager.Instance.Send(EventManager.EventName.Guide_ChangeLevelState);
|
|
}
|
|
|
|
private async void _LoadLevel()
|
|
{
|
|
await LoadingManager.Instance.ExecuteLoading(new LevelLoadingExecutor(_levelId));
|
|
LevelManager.Instance.CurrentLevel.EnterLevel();
|
|
}
|
|
|
|
public void OnUpdate(float deltaTime)
|
|
{
|
|
|
|
}
|
|
|
|
public void OnExit()
|
|
{
|
|
LevelManager.Instance.UnloadLevel();
|
|
}
|
|
}
|