NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Game/GameStateLevel.cs

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();
}
}