示例#1
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();
        }
 public void CrearHumoCanioDeEscape(GameModel model)
 {
     humoBox    = TgcBox.fromSize(new Vector3(0, 0, 0), new Vector3(10, 10, 10), Color.Blue);
     humoEscape = new HumoEscape(model);
 }