protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.Black);
switch (_mCurrentState)
{
case GameStates.InGame:
_mCurrentLevel.Draw(_mSpriteBatch, gameTime, _mScale);
DrawHud();
break;
case GameStates.MainMenu:
_mMainMenu.Draw(gameTime, _mSpriteBatch, _mScale);
_mMainMenuLevel.Draw(_mSpriteBatch, gameTime, _mScale);
break;
case GameStates.Credits:
_mCredits.Draw(gameTime, _mSpriteBatch, _mScale);
_mCredits.DrawLevel(_mSpriteBatch, gameTime, _mScale);
break;
case GameStates.Options:
_mOptions.Draw(gameTime, _mSpriteBatch, _mScale);
_mMainMenuLevel.Draw(_mSpriteBatch, gameTime, _mScale);
break;
case GameStates.Controls:
_mController.Draw(gameTime, _mSpriteBatch, _mScale);
break;
case GameStates.SoundOptions:
_mSoundOptions.Draw(gameTime, _mSpriteBatch, _mScale);
break;
case GameStates.Score:
_mScoring.Draw(_mSpriteBatch, Graphics, _mCurrentLevel, _mScale);
break;
case GameStates.LevelSelection:
_mWorldSelect.Draw(_mSpriteBatch, _mScale);
break;
case GameStates.Pause:
_mCurrentLevel.Draw(_mSpriteBatch, gameTime, _mScale);
_mPause.Draw(_mSpriteBatch, Graphics, _mScale);
break;
case GameStates.Victory:
//TODO - Change this to a victory animation
_mCurrentLevel.Draw(_mSpriteBatch, gameTime, _mScale);
DrawHud();
break;
case GameStates.Death:
//TODO - Change this to a death animation
_mCurrentLevel.Draw(_mSpriteBatch, gameTime, _mScale);
DrawHud();
break;
case GameStates.Title:
_mTitle.Draw(_mSpriteBatch, gameTime, _mScale);
break;
case GameStates.AfterScore:
_mScoring.Draw(_mSpriteBatch, Graphics, _mCurrentLevel, _mScale);
_mAfterScore.Draw(_mSpriteBatch, Graphics, _mScale);
break;
case GameStates.PreScore:
_mScoring.Draw(_mSpriteBatch, Graphics, _mCurrentLevel, _mScale);
_mPreScore.Draw(_mSpriteBatch, Graphics, _mScale, _mCurrentLevel);
break;
case GameStates.ResetConfirm:
_mResetConfirm.Draw(_mSpriteBatch, Graphics, _mScale);
break;
case GameStates.StartLevelSplash:
_mCurrentLevel.Draw(_mSpriteBatch, gameTime, _mScale);
_mStartLevelSplash.Draw(_mSpriteBatch, Graphics, _mCurrentLevel, _mScale);
break;
case GameStates.PurchaseScreen:
_mPurchaseScreenSplash.Draw(_mSpriteBatch, gameTime, _mScale);
break;
case GameStates.WorldPurchaseScreen:
_mWorldPurchaseScreenSplash.Draw(_mSpriteBatch, gameTime, _mScale);
break;
}
base.Draw(gameTime);
}