public void creaMisilV()
        {
            TgcSceneLoader loader = new TgcSceneLoader();
            string         sonido = env.MediaDir + "MySounds\\Launch4.wav";
            var            scene  = loader.loadSceneFromFile(env.MediaDir + "MeshCreator\\Meshes\\Objetos\\Misil-T\\misil-T-TgcScene.xml");
            TgcMesh        mesh   = scene.Meshes[0];

            mesh.AutoUpdateBoundingBox = true;
            mesh.createBoundingBox();
            mesh.Position = this.getMesh().Position;
            Vector3 scale = new Vector3(1f, 1f, 1f);

            Arma arma = new Arma(mesh, this.env, sonido, 20, this.orientacion, this.anguloFinal, scale, this.getMesh(), false);

            ControladorDeVehiculos.getInstance().agregarArma(arma);
            base.agregarArma(arma);
        }
        public virtual void creaDisparo(Vector3 posicion)
        {
            string  sonido = env.MediaDir + "MySounds\\MachineGun.wav";
            var     loader = new TgcSceneLoader();
            var     scene  = loader.loadSceneFromFile(env.MediaDir + "MeshCreator\\Meshes\\Objetos\\Bala\\Bala-TgcScene.xml");
            TgcMesh mesh   = scene.Meshes[0];
            Vector3 scale  = new Vector3(0.3f, 0.3f, 0.3f);

            mesh.Scale = scale;
            mesh.AutoUpdateBoundingBox = true;
            mesh.createBoundingBox();
            mesh.Position = posicion;


            Arma arma = new Arma(mesh, this.env, sonido, 40, this.orientacion, this.anguloFinal, scale, this.getMesh(), true);

            //arma.mover();
            ControladorDeVehiculos.getInstance().agregarArma(arma);
            base.agregarArma(arma);
        }
        /// <summary>
        ///     Se llama una sola vez, al principio cuando se ejecuta el ejemplo.
        ///     Escribir aquí todo el código de inicialización: cargar modelos, texturas, estructuras de optimización, todo
        ///     procesamiento que podemos pre calcular para nuestro juego.
        ///     Borrar el codigo ejemplo no utilizado.
        /// </summary>
        public override void Init()
        {
            //startGame();

            var d3dDevice = D3DDevice.Instance.Device;

            sonido   = new Sonido(MediaDir, ShadersDir, DirectSound);
            messages = new PrintMessageText(this);

            //Carga la estructura de la ciudad
            manejadorDeColiciones  = new ManejadorDeColisiones();
            controladorDeVehiculos = new ControladorDeVehiculos(this);
            Ciudad = new Ciudad(this);

            cronometro = new Cronometro(300000, this);
            //sonidos.startGame();
            iniciarIluminacion();

            TgcD3dInput input = new TgcD3dInput();

            Input = input;

            camaraRotante = new TgcRotationalCamera(
                new Vector3(3000, 5, 3000), 2000, 0.15f, 10f, base.Input);

            camaraMenu = new CamaraTerceraPersona(new Vector3(5500, 800, 5500), 900, 3600f);

            this.Camara = camaraRotante;
            //camaraRotante.SetCamera(new Vector3(500, 700, 500),
            //                         new Vector3(3000, 50, 3000));

            //Creamos una caja 3D con textura
            var center  = new Vector3(3000, 200, 4500);
            var texture = TgcTexture.createTexture(MediaDir + "Menu\\COMENZAR.png");

            boxComenzar = TgcBox.fromSize(center, new Vector3(250, 50, 50), texture);
            boxComenzar.AutoTransformEnable = false;

            // Creamos una caja 3D con textura
            center       = new Vector3(3000, 140, 4500);
            texture      = TgcTexture.createTexture(MediaDir + "Menu\\PERSONAJE.png");
            boxPersonaje = TgcBox.fromSize(center, new Vector3(250, 50, 50), texture);
            boxPersonaje.AutoTransformEnable = false;

            // Creamos una caja 3D con textura
            center   = new Vector3(3000, 80, 4500);
            texture  = TgcTexture.createTexture(MediaDir + "Menu\\SALIR.png");
            boxSalir = TgcBox.fromSize(center, new Vector3(250, 50, 50), texture);
            boxSalir.AutoTransformEnable = false;

            boxComenzar.Position = new Vector3(5500, 850, 5600);
            boxComenzar.rotateY(FastMath.PI);
            boxPersonaje.Position = new Vector3(5500, 750, 5600);
            boxPersonaje.rotateY(FastMath.PI);
            boxSalir.Position = new Vector3(5500, 650, 5600);
            boxSalir.rotateY(FastMath.PI);

            var loader = new TgcSceneLoader();
            var scene  = loader.loadSceneFromFile(MediaDir + "MeshCreator\\Meshes\\Vehiculos\\Hummer\\Hummer-TgcScene.xml");

            personaje1 = scene.Meshes[0];
            personaje1.AutoTransformEnable = false;
            personaje1.Position            = new Vector3(5400, 800, 5700);

            scene      = loader.loadSceneFromFile(MediaDir + "MeshCreator\\Meshes\\Vehiculos\\Auto\\Auto-TgcScene.xml");
            personaje2 = scene.Meshes[0];
            personaje2.AutoTransformEnable = false;
            personaje2.Position            = new Vector3(5200, 800, 5700);

            scene      = loader.loadSceneFromFile(MediaDir + "MeshCreator\\Meshes\\Vehiculos\\Patrullero\\Patrullero-TgcScene.xml");
            personaje3 = scene.Meshes[0];
            personaje3.AutoTransformEnable = false;
            personaje3.Position            = new Vector3(5000, 800, 5700);

            scene      = loader.loadSceneFromFile(MediaDir + "MeshCreator\\Meshes\\Vehiculos\\Warthog\\Warthog-TgcScene.xml");
            personaje4 = scene.Meshes[0];
            personaje4.AutoTransformEnable = false;
            personaje4.Position            = new Vector3(5000, 800, 5700);

            TwistedMetal.inicializado = true;

            /*controladorDeVehiculos.crearAutoPrincipal();
             * controladorDeVehiculos.crearEnemigo1();
             * autoPrincipal = controladorDeVehiculos.getAutoPrincipal();
             *
             */

            //niebla = new Niebla(this);
            // niebla.CargarCamara(controladorDeVehiculos.getAutoPrincipal().getCamara());
            //  niebla
            //     controladorDeVehiculos.addToColisionador(manejadorDeColiciones);//por ahora los autos no colisionan
            //cargarShaders();
        }