/// <summary> /// Resets previously loaded singleplayer control and loads new, resetted one. /// </summary> private void LoadSingleplayerControls() { singleplayerGameOptionsControl?.Dispose(); singleplayerGameOptionsControl = new SingleplayerGameOptionsControl { Parent = singleplayerTabPage, Dock = DockStyle.Fill }; singleplayerGameOptionsControl.OnNewGameStarted += StartNewGame; singleplayerGameOptionsControl.OnGameLoaded += LoadGame; singleplayerGameOptionsControl.Show(); }
/// <summary> /// Loads proper screens starting newly created game the game. /// </summary> /// <param name="game">Instance representing the game to be started.</param> private void LoadInGameScreen(Game game) { switch (game.GameType) { case GameType.SinglePlayer: // remove previous singleplayerGameOptionsControl?.Dispose(); singleplayerGameOptionsControl = null; // load game screen inGame = new InGameControl { Parent = singleplayerTabPage, Dock = DockStyle.Fill }; break; case GameType.MultiplayerHotseat: // remove previous hotseatGameOptionsControl?.Dispose(); hotseatGameOptionsControl = null; // load game screen inGame = new InGameControl { Parent = multiplayerTabPage, Dock = DockStyle.Fill }; break; case GameType.MultiplayerNetwork: // removes previous networkGameOptionsControl?.Dispose(); networkGameOptionsControl = null; // loads game screens inGame = new InGameControl { Parent = multiplayerTabPage, Dock = DockStyle.Fill }; break; } inGame.Initialize(game); inGame.Show(); }