/// <summary> /// Start a new session based on the data provided. /// </summary> public static void StartNewSession(ScreenManager screenManager, GameplayScreen gameplayScreen) { if (screenManager == null) { throw new ArgumentNullException("screenManager"); } if (gameplayScreen == null) { throw new ArgumentNullException("gameplayScreen"); } // end any existing session EndSession(); // create a new singleton singleton = new Session(screenManager, gameplayScreen); }
/// <summary> /// End the current session. /// </summary> public static void EndSession() { // exit the gameplay screen // -- store the gameplay session, for re-entrance if (singleton != null) { GameplayScreen gameplayScreen = singleton.gameplayScreen; singleton.gameplayScreen = null; // clear the singleton singleton = null; if (gameplayScreen != null) { gameplayScreen.ExitScreen(); } } }