public Auto CrearHummer(TgcScene MapScene, Velocimetro velocimetro)
        {
            float   scaleRuedas = 1f;
            TgcMesh rueda       = CrearRueda(1f);

            rueda.move(0, -25, 0);
            TgcScene hummerScene = Loader.loadSceneFromFile(MediaDir + "Hummer\\Hummer-TgcScene.xml");
            TgcMesh  hummerMesh  = hummerScene.Meshes[0];
            //hummerMesh.Scale = new Vector3(0.4f,0.4f,0.4f);

            //para las ruedas el offset es (ancho,altura,largo)
            float y  = 13f;
            float x  = 40;
            float z1 = 54;
            float z2 = 62;

            Ruedas ruedasAtras    = new Ruedas(rueda, new Vector3(x, y, z1), new Vector3(-x, y, z1), true, scaleRuedas);
            Ruedas ruedasAdelante = new Ruedas(rueda, new Vector3(-x, y, -z2), new Vector3(x, y, -z2), false, scaleRuedas);

            float avanceMax      = 5f;
            float aceleracion    = 4f;
            float desaceleracion = 2f;

            return(new Auto("hummer", 100f, avanceMax, 3f, aceleracion, desaceleracion,
                            hummerMesh, Gm,
                            ruedasAdelante, ruedasAtras, rueda, velocimetro));
        }
示例#2
0
        public Auto(string nombre, float vida, float avanceMaximo, float reversaMax,
                    float aceleracion, float desaceleracion,
                    TgcMesh mesh, GameModel model, Ruedas ruedasAdelante, Ruedas ruedasAtras, TgcMesh ruedaMainMesh, Velocimetro velocimetroIN)
        {
            DeformationConstant = 1f;
            MeshesCercanos      = new List <TgcMesh>();
            var scale = 0.4f;

            scale3 = new Vector3(scale, scale, scale);

            CrearHumoCanioDeEscape(model);
            humoChoque          = new HumoEscape(model, true);
            AvanceMax           = avanceMaximo;
            ReversaMax          = -reversaMax;
            Desaceleracion      = desaceleracion;
            InerciaNegativa     = 1f;
            DireccionRuedas     = 0f;
            Armas               = new List <Arma>();
            aceleracionVertical = 0f;
            Velocidad           = 0f;
            Mesh        = mesh;
            Mesh.Scale  = scale3;
            Aceleracion = aceleracion;
            GameModel   = model;

            RuedasTraseras   = ruedasAtras;
            RuedasDelanteras = ruedasAdelante;
            RuedaMainMesh    = ruedaMainMesh;

            //------------Ariel---------------
            Mesh.AutoTransformEnable   = false;
            Mesh.AutoUpdateBoundingBox = false;

            obb = TgcBoundingOrientedBox.computeFromAABB(Mesh.BoundingBox);
            var yMin = Mesh.BoundingBox.PMin.Y;
            var yMax = Mesh.BoundingBox.PMax.Y;

            obbPosY     = (yMax + yMin) / 2 + yMin;
            obb.Extents = new Vector3(obb.Extents.X, obb.Extents.Y, obb.Extents.Z * -1);

            largo = obb.Extents.Z;

            ciudadScene = model.MapScene;



            //--------luces

            Luces       = new LucesAuto(this, ruedasAdelante, ruedasAtras, CamaraAuto);
            RenderLuces = false;

            EsAutoJugador = true;
            fixEjecutado  = false; //para arreglar el temita de que el auto no aparece.

            //shader pal hummer
            TechniqueOriginal       = Mesh.Technique;
            efectoOriginal          = Mesh.Effect;
            efectoShaderNitroHummer = TgcShaders.loadEffect(GameModel.ShadersDir + "ShaderHummer.fx");
            velocimetro             = velocimetroIN;

            //GameModel.shadowMap = new ShadowMap(GameModel);// para shadowmapFIX

            TodosLosMeshes = getAllMeshes();
        }