Пример #1
0
        private void drawObjects(GameTime gameTime,  Objects.playerObject player)
        {
            Camera.CameraMatrices cam; // init variable

            // First off draw for player 1
            cam = player.Camera;
            game.GraphicsDevice.Viewport = player.getViewport;
            // draw skybox fist each time
            SkyBox.Draw(gameTime, cam);
            game.GraphicsDevice.RenderState.DepthBufferEnable = true;
            game.GraphicsDevice.RenderState.DepthBufferWriteEnable = true;
            game.GraphicsDevice.RenderState.AlphaBlendEnable = false;
            game.GraphicsDevice.RenderState.AlphaTestEnable = false;
            // draw all other objects
            for (i = 0; i < AllObjects.Count; ++i)
            //    if ((AllObjects.ElementAt(i).Position - cam.Position).Length() <= DETAIL_CULL_DISTANCE)
                    AllObjects.ElementAt(i).Draw(gameTime, cam);

            // we have to draw the huds afterward so that in third person camera the huds will draw above the player (as the dpth buffer is removed)
            for (i = 0; i < AllObjects.Count; ++i)
            //    if ((AllObjects.ElementAt(i).Position - cam.Position).Length() <= HUD_DETAIL_CULL_DISTANCE)
                    AllObjects.ElementAt(i).drawSuroundingBox(game.sb, cam, player);

            //draw the players hud now (so that the target boxes wont obscure them)
            player.drawHud(game.sb, DynamicObjs, gameTime);

            //draw the sun
            sun.draw(Matrix.Identity, cam, game.GraphicsDevice);
            //TODO DEBUG: draw the paths of the AI
            //drawPaths(gameTime, player.Camera, new BasicEffect(game.GraphicsDevice, null), game.GraphicsDevice);
        }