public void Update(GameTime gameTime)
        {
            if (gameManager.Type == LabiryntType.Prim)
            {
                if (controlManager.Keyboard.Clicked(KeyboardKeys.Z))
                {
                    AssetHolder.Instance.SelectedTexture = new List <Texture2D>()
                    {
                        AssetHolder.Instance.WallTexture
                    };
                    labirynth.VertexMap.ForEach(i => i.changeTexture());
                }
                if (controlManager.Keyboard.Clicked(KeyboardKeys.X))
                {
                    AssetHolder.Instance.SelectedTexture = AssetHolder.Instance.GandalfTextures;
                    AssetHolder.Instance.GandalfMusicInstance.Stop();
                    AssetHolder.Instance.GandalfMusicInstance.Play();
                    labirynth.VertexMap.ForEach(i => i.changeTexture());
                }
            }
            player.Update(gameTime, ref keys, minimap);
            keys.ForEach(i => i.Update(gameTime));
            finishPoint.Update(gameTime, player, screenManager);

            ground.Update(gameTime, player);
            if (gameManager.Type == LabiryntType.Prim)
            {
                frustum = new BoundingFrustum(player.Camera.View * player.Camera.Projection);
                List <Cube> visible = labirynth.VertexMap.Where(m => frustum.Contains(m.BoundingBox) != ContainmentType.Disjoint).ToList();
                visible.ForEach(i => i.Update(gameTime));
            }
            skyBox.Update(gameTime);
            minimap.Update(controlManager, gameTime);
        }
Exemplo n.º 2
0
        public void Update(UpdateArgs args)
        {
            if (_destroyed)
            {
                return;
            }

            var camera = Camera;

            args.Camera = camera;

            /*if (Math.Abs(Player.FOVModifier - _fovModifier) > 0f)
             * {
             *      _fovModifier = Player.FOVModifier;
             *
             *      camera.FOV += _fovModifier;
             *      camera.UpdateProjectionMatrix();
             *      camera.FOV -= _fovModifier;
             * }*/
            camera.Update(args);

            //_brightnessMod = SkyRenderer.BrightnessModifier;

            SkyBox.Update(args);
            ChunkManager.Update(args);

            EntityManager.Update(args);
            PhysicsEngine.Update(args.GameTime);

            if (Math.Abs(_brightnessMod - SkyBox.BrightnessModifier) > 0f)
            {
                _brightnessMod = SkyBox.BrightnessModifier;

                var diffuseColor = Color.White.ToVector3() * SkyBox.BrightnessModifier;
                ChunkManager.AmbientLightColor = diffuseColor;

                if (Math.Abs(ChunkManager.Shaders.BrightnessModifier - SkyBox.BrightnessModifier) > 0f)
                {
                    ChunkManager.Shaders.BrightnessModifier = SkyBox.BrightnessModifier;
                }

                var modelRenderer = Player?.ModelRenderer;

                if (modelRenderer != null)
                {
                    modelRenderer.DiffuseColor = diffuseColor;
                }
            }

            Player?.Update(args);
        }