public void Construct(IGameSession gameSession, IResourceManager resourceManager, INavigationProvider navigationProvider) { Session = gameSession; ResourceManager = resourceManager; NavigationProvider = navigationProvider; _gameStateMachine = new StateMachine <GameState>(GameState.Initialization); _gameStateMachine.AddTransition(GameState.Initialization, GameState.Play, StartGame); NavigationProvider.OpenScreen <LoadingPage>(); StartCoroutine(LoadGame(Session.Data)); }