コード例 #1
0
ファイル: SpaceMAS.cs プロジェクト: espenja/spacemas
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(new Color(16, 36, 35));
            spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.NonPremultiplied);

            //fps counter
            int fps        = Frames.CalculateFrameRate();
            var fontOrigin = TextFont.MeasureString(fps.ToString()) / 2;
            var position   = new Vector2(50, 50);

            spriteBatch.DrawString(TextFont, fps.ToString(), position, Color.LightGreen, 0, fontOrigin, 0.25f, SpriteEffects.None, GameDrawOrder.BACKGROUND_TOP);


            switch (StateProvider.Instance.State)
            {
            case GameState.HIGHSCORE:
                DrawHighscore(spriteBatch);
                break;

            case GameState.MENU:
                MenuController.Draw(spriteBatch, TextFont);
                DrawPlayerMoney(spriteBatch);
                break;

            case GameState.CONTROLS:
                DrawControls(spriteBatch);
                break;

            case GameState.GAMEPAUSED:
                LevelController.CurrentLevel.Draw(spriteBatch);
                break;

            case GameState.LEVEL_INTRO:
                LevelController.CurrentLevel.LevelIntro.Draw(spriteBatch);
                break;

            case GameState.PLAYING_EASY:
                if (LevelController.CurrentLevel != null)
                {
                    LevelController.CurrentLevel.Draw(spriteBatch);
                    DrawPlayerMoney(spriteBatch);
                }
                break;

            case GameState.PLAYING_NORMAL:
                if (LevelController.CurrentLevel != null)
                {
                    LevelController.CurrentLevel.Draw(spriteBatch);
                    DrawPlayerMoney(spriteBatch);
                }
                break;

            case GameState.PLAYING_HARD:
                if (LevelController.CurrentLevel != null)
                {
                    LevelController.CurrentLevel.Draw(spriteBatch);
                    DrawPlayerMoney(spriteBatch);
                }
                break;
            }
            spriteBatch.End();

            // TODO: Add your drawing code here

            base.Draw(gameTime);
        }