Пример #1
0
        public override void render(float elapsedTime)
        {
            Device d3dDevice = GuiController.Instance.D3dDevice;

            //Ver si cambio el nivel elegido
            string selectedFileName = (string)GuiController.Instance.Modifiers["Level"];

            if (selectedFileName != currentLevelFile)
            {
                currentLevelFile = selectedFileName;
                loadLevel(currentLevelFile);
            }


            //Actualizar valores de Modifiers
            bspMap.CollisionManager.Camera.MovementSpeed = (float)GuiController.Instance.Modifiers.getValue("Speed");
            bspMap.CollisionManager.Gravity   = (float)GuiController.Instance.Modifiers.getValue("Gravity");
            bspMap.CollisionManager.JumpSpeed = (float)GuiController.Instance.Modifiers.getValue("JumpSpeed");
            bspMap.CollisionManager.NoClip    = (bool)GuiController.Instance.Modifiers.getValue("NoClip");


            //Actualizar estado de colsiones y renderizar con Frustum Culling utilizando matriz PVS
            Vector3 currentPosition = bspMap.CollisionManager.update();

            bspMap.render(currentPosition);
        }