/// <summary> /// This is called when the game should draw itself. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.Black); float elapsedTime = (float)gameTime.ElapsedGameTime.TotalSeconds; if (GameState == GameState.SignIn) { return; } if (GameState == GameState.SplashScreen) { SplashSystem.Draw(elapsedTime); } else if (GameState != GameState.CharacterSelection && GameState != GameState.RoomChange) { LevelManager.Draw(elapsedTime); NetworkSystem.Draw(elapsedTime); RenderingSystem.Draw(elapsedTime); HUDSystem.Draw(elapsedTime); QuestLogSystem.Draw(); } else { ContinueNewGameScreen.Draw(elapsedTime); } base.Draw(gameTime); }