Beispiel #1
0
        public static void Draw(GameTime gameTime)
        {
            BeatShift.graphics.GraphicsDevice.Viewport = Viewports.fullViewport;
            Rectangle viewArea = new Rectangle(0, 0, BeatShift.graphics.GraphicsDevice.Viewport.Width, BeatShift.graphics.GraphicsDevice.Viewport.Height);

            //Clear screen to black
            BeatShift.graphics.GraphicsDevice.Clear(Color.Black);
            if (Globals.PostProcess)
            {
                PostProcessFx.BeginDraw();                    //Set RenderTarget to bloom target instead of buffer
            }
            if (BeatShift.shipSelect.Visible && !(paused || LiveServices.GuideIsVisible()))
            {
                BeatShift.shipSelect.Draw(gameTime);
            }

            //Draw Main menu system if active, before drawing ship-selection ships
            if (MenuManager.mainMenuSystem.isActive)
            {
                MenuManager.Draw(gameTime);
            }

            //Begin 3D drawing region

            //Draw map
            if (Race.Visible)
            {
                Race.DrawMap(gameTime);
            }

            //Draw ships/racers and HUD
            if (Race.Visible)
            {
                Race.DrawShips(gameTime);
                Race.DrawHUD(gameTime);
            }

            //Begin glow pass
            if (Globals.PostProcess)
            {
                Race.DrawGlow(gameTime);
                //Race.DrawShips(gameTime);//Fake bit of geometry
                PostProcessFx.Draw(gameTime); //Apply bloom on 3D elements and draw to backbuffer.
            }


            //Draw any other menu systems (Pause/PostGame) which are active
            if (!MenuManager.mainMenuSystem.isActive)
            {
                MenuManager.Draw(gameTime);
            }



            //if (networkedGame.Visible) networkedGame.Draw(gameTime);
        }