コード例 #1
0
        protected override void Draw(GameTime gameTime)
        {
            Scene.Draw();

            sprite.Begin(SpriteBlendMode.AlphaBlend);

            sprite.DrawString(font, Player1, new Vector2(21, 11), Color.Black);
            sprite.DrawString(font, Player1, new Vector2(20, 10), Color.White);

            switch (Scene.Coordinator.Select("Player")[0].Get <PlayerController>().SelectedControlScheme)
            {
            case ControlScheme.Gamepad: {
                sprite.Draw(gamepad, new Vector2(30, 35), Color.White);
            } break;

            case ControlScheme.Keyboard: {
                sprite.Draw(keyboard, new Vector2(30, 35), Color.White);
            } break;

            case ControlScheme.Mouse: {
                sprite.Draw(mouse, new Vector2(30, 35), Color.White);
            } break;
            }

            sprite.DrawString(font, Player2, new Vector2(Graphics.GraphicsDevice.Viewport.Width - 89, 11), Color.Black);
            sprite.DrawString(font, Player2, new Vector2(Graphics.GraphicsDevice.Viewport.Width - 90, 10), Color.White);

            switch (Scene.Coordinator.Select("Player")[1].Get <PlayerController>().SelectedControlScheme)
            {
            case ControlScheme.Gamepad: {
                sprite.Draw(gamepad, new Vector2(Graphics.GraphicsDevice.Viewport.Width - 110, 35), Color.White);
            } break;

            case ControlScheme.Keyboard: {
                sprite.Draw(keyboard, new Vector2(Graphics.GraphicsDevice.Viewport.Width - 110, 35), Color.White);
            } break;

            case ControlScheme.Mouse: {
                sprite.Draw(mouse, new Vector2(Graphics.GraphicsDevice.Viewport.Width - 110, 35), Color.White);
            } break;
            }

            float cycleLength = font.MeasureString(CycleInfo).X;

            sprite.DrawString(font, CycleInfo, new Vector2((Graphics.GraphicsDevice.Viewport.Width / 2) - (cycleLength / 2) + 1, 11), Color.Black);
            sprite.DrawString(font, CycleInfo, new Vector2((Graphics.GraphicsDevice.Viewport.Width / 2) - (cycleLength / 2), 10), Color.White);

            ScoreCount score = Scene.Coordinator.Select("Score Counter")[0].Get <ScoreCount>();

            sprite.DrawString(fontBold, String.Format("Tally: {0} - {1}", score.GetTally(PlayerIndex.One), score.GetTally(PlayerIndex.Two)), new Vector2((Graphics.GraphicsDevice.Viewport.Width / 2) - 69, 46), Color.Black);
            sprite.DrawString(fontBold, String.Format("Tally: {0} - {1}", score.GetTally(PlayerIndex.One), score.GetTally(PlayerIndex.Two)), new Vector2((Graphics.GraphicsDevice.Viewport.Width / 2) - 70, 45), Color.White);

            if (ownGoal != null)
            {
                sprite.DrawString(fontBold, ownGoal.Message, new Vector2((Graphics.GraphicsDevice.Viewport.Width / 2) - (ownGoal.MessageSize.X / 2) + 1, Graphics.GraphicsDevice.Viewport.Height - 70 + 1), Color.Black);
                sprite.DrawString(fontBold, ownGoal.Message, new Vector2((Graphics.GraphicsDevice.Viewport.Width / 2) - (ownGoal.MessageSize.X / 2), Graphics.GraphicsDevice.Viewport.Height - 70), Color.White);
            }

            sprite.End();

            base.Draw(gameTime);
        }