/// <summary> /// Initializes a new game session and starts loading the game. /// </summary> private void InitSession(GameParameter parameter) { if (currentSession != null) { throw new InvalidOperationException("Attempted to initialize a redundant game session."); } currentSession = currentModeService.GetSession(Screen, Dependency); currentSession.SetParameter(parameter); currentSession.InvokeHardInit(); }