private void SwitchMode(GameModeScreen screen) { // Stop runnung Clients if (CurrentClient != null) { // Stop Simulation CurrentClient.StopSimulation(); // Dispose Viewer mainPanel.Controls.Remove(Renderer); Renderer.Dispose(); Renderer = null; // Dispose Client CurrentClient.Dispose(); CurrentClient = null; } // Close open Modes if (CurrentMode != null) { // Dispose Mode mainPanel.Controls.Remove(CurrentMode); CurrentMode.Dispose(); CurrentMode = null; } // Create new Mode CurrentMode = screen; mainPanel.Controls.Add(CurrentMode); CurrentMode.Dock = DockStyle.Fill; }
private void startToolButton_Click(object sender, EventArgs e) { try { // Create Client CurrentClient = CurrentMode.StartSimulation(); CurrentClient.OnError += CurrentClient_OnError; CurrentClient.OnSimulationChanged += CurrentClient_OnSimulationChanged; // Dispose Mode mainPanel.Controls.Remove(CurrentMode); CurrentMode.Dispose(); CurrentMode = null; // Start Simulation Renderer = new RenderControl(); mainPanel.Controls.Add(Renderer); Renderer.Dock = DockStyle.Fill; Renderer.SetSimulation(CurrentClient); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { //graphics.ToggleFullScreen(); screenState = ScreenState.Title; gameScreen = new GameScreen(); mainMenuScreen = new MainMenuScreen(); titleScreen = new TitleScreen(); gameOverScreen = new GameOverScreen(); //playerSelectScreen = new PlayerSelectScreen(); oneplayerSelectScreen = new OnePlayerSelectScreen(); twoplayerSelectScreen = new TwoPlayerSelectScreen(); onlineOptionsScreen = new OnlineOptionsScreen(); onlineJoinScreen = new OnlineJoinScreen(); optionsScreen = new OptionsScreen(); editControls = new EditControlsScreen(); pauseScreen = new PauseScreen(); errorScreen = new ErrorScreen(); gameModeScreen = new GameModeScreen(); keyboardScreen = new KeyboardScreen(); waitingScreen = new WaitingScreen(); graphics.PreferredBackBufferWidth = 1920; graphics.PreferredBackBufferHeight = 1080; graphics.ApplyChanges(); Global.Scale = new Vector2(GraphicsDevice.Viewport.Width / 1920f); InputManager.Update(); Global.UsingKeyboard = !InputManager.PressedKeysPlayer1.IsConnected; IsMouseVisible = true; base.Initialize(); }