示例#1
0
文件: Game.cs 项目: mshurst/BotGame
        /// <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);

            spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend);

            DrawBackground();

            //foreach (Node n in path)
            //{
            //    DebugDraw.DrawCircle(spriteBatch, n.Position, Color.Green);

            //    if (n.Parent != null)
            //    {

            //        DebugDraw.DrawLine(spriteBatch, n.Position, n.Parent.Position);
            //    }
            //}

            StaticMap.DrawMap(spriteBatch);

            shotManager.Draw(spriteBatch);

            foreach (var action in toggleActions)
            {
                if (action.IsActive)
                {
                    action.Action.Invoke(spriteBatch);
                }
            }

            //DebugDraw.DrawCircle(spriteBatch, 150, 600, Color.Blue);
            //DebugDraw.DrawCircle(spriteBatch, 1050, 600, Color.Red);

            //DebugDraw.DrawCircle(spriteBatch, 450, 150);
            //DebugDraw.DrawCircle(spriteBatch, 600, 600);
            //DebugDraw.DrawCircle(spriteBatch, 750, 1050);

            //foreach (var node in StaticMap.NodeMap)
            //{
            //    DebugDraw.DrawCircle(spriteBatch, node.Position, Color.Green);
            //}

            bot1.Draw(spriteBatch);
            bot2.Draw(spriteBatch);

            DebugDraw.DrawText(spriteBatch, 0, 0, bot1.GetState().ToString(), bot1.GetColour());
            DebugDraw.DrawText(spriteBatch, 1000, 0, bot2.GetState().ToString(), bot2.GetColour());

            spriteBatch.End();

            base.Draw(gameTime);
        }