private void resetGameToolStripMenuItem_Click(object sender, EventArgs e) { var dialogResult = MessageBox.Show("You are going to reset game state. All players " + "will remain. Continue?", "Information", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (dialogResult == DialogResult.No) { return; } ClearEnvironmentPanel(); m_worldMap.Close(); m_worldMap.Dispose(); // this is needed as we override OnFormClosing() using (var form = new SettingsWindow()) { if (form.ShowDialog() == DialogResult.OK) { var players = m_game.Players; players.ForEach(player => player.Colonies.Clear()); m_game = new Game(form.Settings, players); m_worldMap = new WorldMapWindow(form.Settings); ShowWorldMap(); GameToolStripEnabled(true); PlayersAndStartGameToolStripsEnabled(true); ResetGameToolStripEnabled(false); LoadEnvironment(); } } }
private void newGameToolStripMenuItem_Click(object sender, EventArgs e) { if (m_game != null) { var dialogResult = MessageBox.Show("Are you sure you want to start a new game? " + "All data will be lost.", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (dialogResult == DialogResult.No) { return; } GameToolStripEnabled(false); ClearEnvironmentPanel(); m_worldMap.Close(); m_worldMap.Dispose(); // this is needed as we override OnFormClosing() } using (var form = new SettingsWindow()) { if (form.ShowDialog() == DialogResult.OK) { m_game = new Game(form.Settings); m_worldMap = new WorldMapWindow(form.Settings); ShowWorldMap(); GameToolStripEnabled(true); PlayersAndStartGameToolStripsEnabled(true); ResetGameToolStripEnabled(false); PlayersAndControlsPanelEnabled(true); LoadEnvironment(); } } }