public override void init(){
        

            Microsoft.DirectX.Direct3D.Device d3dDevice = GuiController.Instance.D3dDevice;
            String mediaDir = GuiController.Instance.AlumnoEjemplosMediaDir;
            nivel = new Level(
                new Terrain(CommandosUI.Instance.MediaDir + "Heightmaps\\HeightmapPlano.jpg",
                    GuiController.Instance.ExamplesMediaDir + "Texturas\\tierra.jpg",
                    10f,
                    1f
                    )
                 );
            pared = new Wall(new Vector3(0,0,0), new Vector3(200, 50, 10));
                        
            pj = new Commando(new Vector3(0, 0, -40));
            pj.Representation.AutoTransformEnable = true;


            enemigo = new Enemy(new Vector3(0, 0, 40));
            enemigo.ShowConeDirection = true;
            nivel.add(pared);
            nivel.add(enemigo);
            nivel.add(pj);

            GuiController.Instance.Modifiers.addFloat("AlturaPared", 10, 60, 10);
            GuiController.Instance.Modifiers.addFloat("RadioVision", 0, 500,100);
            GuiController.Instance.Modifiers.addFloat("AnguloVision", 0, 90, 45);
            GuiController.Instance.Modifiers.addBoolean("Direccion","Mostrar",false);
            //GuiController.Instance.RotCamera.targetObject(enemigo.BoundingBox);
            GuiController.Instance.RotCamera.CameraDistance = 200;
            GuiController.Instance.Modifiers.addVertex3f("posicionTarget", new Vector3(-100, -100, -100), new Vector3(100, 100, 100), new Vector3(0, 0, -20));

            Modifiers.initialize();


            GuiController.Instance.Modifiers.addBoolean("Cilindros", "Ver cilindros", false);
            Modifiers.Instance.bind("Cilindros", typeof(Character), "RenderCylinder");
            GuiController.Instance.Modifiers.addBoolean("Agachado", "Sí", false);
            Modifiers.Instance.bind("Agachado", this, "Crouch");
            Modifiers.Instance.bind("RadioVision", enemigo,"VisionRadius");
            Modifiers.Instance.bind("Direccion", enemigo, "ShowConeDirection");
            Modifiers.Instance.bind("posicionTarget", pj, "Position");







        }
        public override void init()
        {
            Device d3dDevice = GuiController.Instance.D3dDevice;
            terrain = new Terrain();
            skeletal = new SkeletalRepresentation(terrain.getPosition(477, 129));
            tree = new Tree(terrain.getPosition(420, 129), new Vector3(5,7,5),new Vector3(0,0,0));
            wall = new Wall(terrain.getPosition(200, 337), new Vector3(500,100,50));

            effect = TgcShaders.loadEffect(CommandosUI.Instance.ShadersDir + "shaders.fx");
            skeletal.Effect = effect;
            terrain.Effect = effect;
            wall.Effect = effect;
            tree.Effect = effect;

            GuiController.Instance.Modifiers.addFloat("timeSpeed", 0.01f, 0.5f, 0.25f);

            new StandardCamera();

            //initShadows(d3dDevice);

        }