Exemple #1
0
        private void ActualizarRelojInterno(float elapsedTime, SuvirvalCraft contexto)
        {
            //Si el elapsedTime es mayor de 0.5 segundos, solo tenemos en cuenta 0,5 segundos sino el reloj se torna inestable
            //Esto viene muy bien en la etapa de configuración, que viene un elapsedTime muy grande.
            if (elapsedTime > 0.5f)
            {
                //El reloj interno lo interpretamos en segundos
                relojInterno += 0.5f * velocidadTiempo;
            }
            else
            {
                //El reloj interno lo interpretamos en segundos
                relojInterno += elapsedTime * velocidadTiempo;
            }

            //Si pasaron mas de 86400 segundos quiere decir que el dia termino.
            if (relojInterno > 86400)
            {
                relojInterno = 0;
                tiempo.CalcularTemperaturaDeDia();
                lluvia.Actualizar(contexto);
                if (lluvia.EstaLloviendo())
                {
                    sol.ActualizarIntensidadMaximaLuz(500f);
                }
                else
                {
                    sol.ActualizarIntensidadMaximaLuz(1000f);
                }
            }
        }
Exemple #2
0
        public void Ejecutar(SuvirvalCraft contexto, float elapsedTime)
        {
            Vector3 direccion;
            float   velocidad;

            if (tipoSalto.Equals(Adelante))
            {
                //TODO. Tener en cuenta que la direccion se esta calculando mas arriba, aunque aqui se calcula la direccion si el perosnaje esta quieto. Analizar!!!
                //Lo hacemos negativo para invertir hacia donde apunta el vector en 180 grados
                var z = -(float)Math.Cos(contexto.personaje.mesh.Rotation.Y) * 50;
                var x = -(float)Math.Sin(contexto.personaje.mesh.Rotation.Y) * 50;
                //Direccion donde apunta el personaje, sumamos las coordenadas obtenidas a la posición del personaje para que
                //el vector salga del personaje.
                direccion = contexto.personaje.mesh.Position + new Vector3(x, 75, z);
                velocidad = 6;
            }
            else
            {
                //Por defecto el salto es en el lugar!!!
                direccion = contexto.personaje.mesh.Position + new Vector3(0, 1, 0);
                velocidad = 4;
            }

            Movimiento = new MovimientoParabolico(contexto.personaje.mesh.Position, direccion, velocidad,
                                                  new MallaEnvoltura(contexto.personaje.mesh));

            contexto.movimientoPersonaje = Movimiento;
        }
 public void Ejecutar(SuvirvalCraft contexto, float elapsedTime)
 {
     if (!contexto.personaje.TieneAntorchaSeleccionada())
     {
         //Seleccionamos la antorcha, sabemos que esta en la posicion 2 de las armas (eso esta muy feo)
         contexto.personaje.seleccionarInstrumentoManoDerecha(2);
         contexto.personaje.antorcha.Activar();
         contexto.efectoTerreno.AgregarElementoDeIluminacion(new ElementoIluminacion(
                                                                 contexto.personaje.antorcha, 1500));
         contexto.efectoLuz.AgregarElementoDeIluminacion(new ElementoIluminacion(contexto.personaje.antorcha,
                                                                                 1500));
         contexto.efectoAlgas.AgregarElementoDeIluminacion(new ElementoIluminacion(contexto.personaje.antorcha,
                                                                                   1500));
         contexto.efectoAlgas2.AgregarElementoDeIluminacion(new ElementoIluminacion(contexto.personaje.antorcha,
                                                                                    1500));
         contexto.efectoBotes.AgregarElementoDeIluminacion(new ElementoIluminacion(contexto.personaje.antorcha,
                                                                                   1500));
         contexto.efectoArbol.AgregarElementoDeIluminacion(new ElementoIluminacion(contexto.personaje.antorcha,
                                                                                   1500));
         contexto.efectoArbol2.AgregarElementoDeIluminacion(new ElementoIluminacion(contexto.personaje.antorcha,
                                                                                    1500));
         contexto.efectoLuz2.AgregarElementoDeIluminacion(new ElementoIluminacion(contexto.personaje.antorcha,
                                                                                  1500));
     }
 }
Exemple #4
0
 public override void procesarInteraccion(string accion, SuvirvalCraft contexto, float elapsedTime)
 {
     mensajeInformativo = "Juntar (J), Consumir (C)";
     base.procesarInteraccion(accion, contexto, elapsedTime);
     if (accion.Equals("Juntar"))
     {
         //TODO. Esta validacion es porque se ejecuta muchas veces al presionar la tecla. Se deberia solucioanr cuando implementemos los comandos
         if (!contexto.personaje.ContieneElementoEnMochila(this))
         {
             try
             {
                 contexto.personaje.juntar(this);
                 contexto.elementos.Remove(this);
                 contexto.optimizador.ForzarActualizacionElementosColision();
             }
             catch (Exception ex)
             {
                 mensajeInformativo = ex.Message;
             }
         }
     }
     if (accion.Equals("Consumir"))
     {
         contexto.personaje.ConsumirAlimento(nutricion);
         liberar();
         contexto.elementos.Remove(this);
         contexto.optimizador.ForzarActualizacionElementosColision();
     }
 }
Exemple #5
0
        public virtual void Actualizar(SuvirvalCraft contexto, float elapsedTime)
        {
            if (hayInteraccion)
            {
                if (barraEstado != null)
                {
                    barraEstado.ActualizarEstado(Resistencia);
                }
            }
            else
            {
                if (barraEstado != null)
                {
                    barraEstado.Liberar();
                    barraEstado = null;
                }
            }

            //Preguntamos por el tiempo del ultimo golpe porque queremos que la barra de estado se muestre durante 5 segudos despues de cada golpe,
            //independientemente de que no haya interaccion
            if (SuperoTiempoGolpe(contexto.tiempo))
            {
                //Esto maneja la sincronización, ya que siempre se ejecuta primero las colisiones e interacciones y luego las actualizaciones.
                hayInteraccion = false;
            }
        }
Exemple #6
0
 public override void Actualizar(SuvirvalCraft contexto, float elapsedTime)
 {
     if (EstaCocinando())
     {
         tiempoCoccion += elapsedTime;
         if (tiempoCoccion > TiempoCoccionElementos())
         {
             if (elementoCoccion != null)
             {
                 EliminarElemento(elementoCoccion);
                 tiempoCoccion = 0;
                 progresoCoccion.Liberar();
                 progresoCoccion = null;
                 var contenido = elementoCoccion.DestruirSolo();
                 foreach (var cont in contenido)
                 {
                     cont.posicion(elementoCoccion.posicion());
                 }
                 //this.AgregarElementos(contenido);
                 contexto.elementos.Remove(elementoCoccion);
                 elementoCoccion = null;
                 contexto.elementos.AddRange(contenido);
                 contexto.optimizador.ForzarActualizacionElementosColision();
             }
         }
         else
         {
             progresoCoccion.ActualizarEstado(tiempoCoccion);
         }
     }
 }
Exemple #7
0
        public void Ejecutar(SuvirvalCraft contexto, float elapsedTime)
        {
            contexto.personaje.mesh.playAnimation("Parado", true);
            //Simulamos el descanso del personaje
            contexto.personaje.incrementoResistenciaFisica(elapsedTime);

            ObstaculosInteractuar.Clear();
            foreach (var elem in contexto.optimizador.ElementosColision)
            {
                //TODO. Optimizar esto para solo objetos cernanos!!!!!!!!
                if (ControladorColisiones.EsferaColisionaCuadrado(contexto.personaje.GetAlcanceInteraccionEsfera(),
                                                                  elem.BoundingBox()))
                {
                    ObstaculosInteractuar.Add(elem);
                    if (!elem.AdmiteMultipleColision())
                    {
                        break;
                    }
                }
            }
            foreach (var elem in ObstaculosInteractuar)
            {
                elem.procesarInteraccion(Accion, contexto, elapsedTime);
                contexto.informativo.Text = elem.getAcciones();
            }
        }
Exemple #8
0
        /// <summary>
        ///     Inicio todos los objetos necesarios para cargar el ejemplo y directx
        /// </summary>
        public void InitGraphics()
        {
            //Se inicio la aplicacion
            ApplicationRunning = true;

            //Inicio Device
            D3DDevice.Instance.InitializeD3DDevice(panel3D);

            //Inicio inputs
            Input = new TgcD3dInput();
            Input.Initialize(this, panel3D);

            //Inicio sonido
            DirectSound = new TgcDirectSound();
            DirectSound.InitializeD3DDevice(panel3D);

            //Directorio actual de ejecucion
            var currentDirectory = Environment.CurrentDirectory + "\\";

            //Cargar shaders del framework
            TgcShaders.Instance.loadCommonShaders(currentDirectory + Game.Default.ShadersDirectory);

            //Juego a ejecutar
            Modelo = new SuvirvalCraft(currentDirectory + Game.Default.MediaDirectory,
                                       currentDirectory + Game.Default.ShadersDirectory);

            //Cargar juego
            ExecuteModel();
        }
Exemple #9
0
 public override void Actualizar(SuvirvalCraft contexto, float elapsedTime)
 {
     base.Actualizar(contexto, elapsedTime);
     if (estaCreando)
     {
         tiempoCreacion += elapsedTime;
         if (tiempoCreacion > TiempoTotalCreacion())
         {
             progresoCreacion.Liberar();
             progresoCreacion = null;
             tiempoCreacion   = 0;
             estaCreando      = false;
             tieneQueCrear    = false;
             Mesh             = Mesh1;
         }
         else
         {
             progresoCreacion.ActualizarEstado(tiempoCreacion);
         }
     }
     else
     {
         if (tieneQueCrear && elementosQueContiene().Count > 0)
         {
             progresoCreacion =
                 new BarraEstado(new Vector3(BoundingBox().PMin.X, BoundingBox().PMax.Y, BoundingBox().PMax.Z),
                                 BoundingBox().PMax, TiempoTotalCreacion());
             estaCreando   = true;
             tieneQueCrear = false;
         }
     }
 }
Exemple #10
0
        public virtual ElementoIluminacion IluminadorMasCercanoA(Vector3 posicion, SuvirvalCraft contexto)
        {
            var elemIlumActual = elementosIluminacion[0];
            var aux            = new List <ElementoIluminacion>();

            foreach (var elem in elementosIluminacion)
            {
                if (contexto.optimizador.ElementosRenderizacion.Contains(elem.Elemento))
                {
                    aux.Add(elem);
                }
            }
            if (aux.Count != 0)
            {
                elemIlumActual = aux[0];
                foreach (var elem in aux)
                {
                    if (elem.Elemento.distanciaA(posicion) < elemIlumActual.Elemento.distanciaA(posicion))
                    {
                        elemIlumActual = elem;
                    }
                }
            }
            return(elemIlumActual);
        }
Exemple #11
0
 public void Ejecutar(SuvirvalCraft contexto, float elapsedTime)
 {
     if (tipo.Equals(Mochila))
     {
         contexto.mostrarMenuMochila = true;
     }
 }
Exemple #12
0
 public override void ActualizarRenderizar(SuvirvalCraft contexto, Arma arma)
 {
     if (HayQueIluminarConElementos(contexto))
     {
         //Porque el arma no tiene posicion, tiene matriz de translación. De todas formas siempre esta al lado del personaje.
         var iluminador = AlguienIluminaAElemento(contexto.personaje.mesh.Position);
         if (iluminador != null)
         {
             //Setea primero aquellos parámetros que son propios del efecto en cuestión.
             iluminador.Iluminar(this, contexto.personaje.mesh.Position, arma.ColorEmisor(), arma.ColorAmbiente(),
                                 arma.ColorDifuso(), arma.ColorEspecular(), arma.EspecularEx());
             arma.mesh.render();
         }
         else
         {
             contexto.dia.GetSol()
             .Iluminar(contexto.personaje.mesh.Position, this, arma.ColorEmisor(), arma.ColorAmbiente(),
                       arma.ColorDifuso(), arma.ColorEspecular(), arma.EspecularEx());
             arma.mesh.render();
         }
     }
     else
     {
         contexto.dia.GetSol()
         .Iluminar(contexto.personaje.mesh.Position, this, arma.ColorEmisor(), arma.ColorAmbiente(),
                   arma.ColorDifuso(), arma.ColorEspecular(), arma.EspecularEx());
         arma.mesh.render();
     }
 }
Exemple #13
0
 public override void ActualizarRenderizar(SuvirvalCraft contexto, float elapsedTime)
 {
     if (HayQueIluminarConElementos(contexto))
     {
         var iluminador = AlguienIluminaAElemento(contexto.personaje.mesh.Position);
         if (iluminador != null)
         {
             //Setea primero aquellos parámetros que son propios del efecto en cuestión.
             iluminador.Iluminar(this, contexto.personaje.mesh.Position, contexto.personaje.ColorEmisor(),
                                 contexto.personaje.ColorAmbiente(),
                                 contexto.personaje.ColorDifuso(), contexto.personaje.ColorEspecular(),
                                 contexto.personaje.EspecularEx());
             contexto.personaje.mesh.animateAndRender(elapsedTime);
         }
         else
         {
             contexto.dia.GetSol()
             .Iluminar(contexto.personaje.mesh.Position, this, contexto.personaje.ColorEmisor(),
                       contexto.personaje.ColorAmbiente(),
                       contexto.personaje.ColorDifuso(), contexto.personaje.ColorEspecular(),
                       contexto.personaje.EspecularEx());
             contexto.personaje.mesh.animateAndRender(elapsedTime);
         }
     }
     else
     {
         contexto.dia.GetSol()
         .Iluminar(contexto.personaje.mesh.Position, this, contexto.personaje.ColorEmisor(),
                   contexto.personaje.ColorAmbiente(),
                   contexto.personaje.ColorDifuso(), contexto.personaje.ColorEspecular(),
                   contexto.personaje.EspecularEx());
         contexto.personaje.mesh.animateAndRender(elapsedTime);
     }
 }
Exemple #14
0
 public override void ActualizarRenderizar(SuvirvalCraft contexto, Elemento elemento)
 {
     if (HayQueIluminarConElementos(contexto))
     {
         var iluminador = AlguienIluminaAElemento(elemento);
         if (iluminador != null)
         {
             //this.Tecnica(GuiController.Instance.Shaders.getTgcMeshTechnique(elemento.Mesh.RenderType));
             //this.Aplicar(elemento.Mesh);
             //Setea primero aquellos parámetros que son propios del efecto en cuestión.
             iluminador.Iluminar(this, contexto.personaje.mesh.Position, elemento.ColorEmisor(),
                                 elemento.ColorAmbiente(),
                                 elemento.ColorDifuso(), elemento.ColorEspecular(), elemento.EspecularEx());
             elemento.Mesh.render();
         }
         else
         {
             contexto.dia.GetSol()
             .Iluminar(contexto.personaje.mesh.Position, this, elemento.ColorEmisor(),
                       elemento.ColorAmbiente(),
                       elemento.ColorDifuso(), elemento.ColorEspecular(), elemento.EspecularEx());
             elemento.Mesh.render();
         }
     }
     else
     {
         //this.Tecnica(GuiController.Instance.Shaders.getTgcMeshTechnique(elemento.Mesh.RenderType));
         //this.Aplicar(elemento.Mesh);
         contexto.dia.GetSol()
         .Iluminar(contexto.personaje.mesh.Position, this, elemento.ColorEmisor(), elemento.ColorAmbiente(),
                   elemento.ColorDifuso(), elemento.ColorEspecular(), elemento.EspecularEx());
         elemento.Mesh.render();
     }
 }
Exemple #15
0
 /// <summary>
 ///     //TODO. Refactorizar los parametros que recibe!!!!
 /// </summary>
 /// <param name="contexto"></param>
 /// <param name="elemento"></param>
 public override void ActualizarRenderizar(SuvirvalCraft contexto, Elemento elemento)
 {
     if (HayQueIluminarConElementos(contexto))
     {
         var iluminador = AlguienIluminaAElemento(elemento);
         if (iluminador != null)
         {
             //Setea primero aquellos parámetros que son propios del efecto en cuestión.
             GetEfectoShader().SetValue("time", contexto.tiempo);
             iluminador.Iluminar(this, contexto.personaje.mesh.Position, elemento.ColorEmisor(),
                                 elemento.ColorAmbiente(),
                                 elemento.ColorDifuso(), elemento.ColorEspecular(), elemento.EspecularEx());
             elemento.Mesh.render();
         }
         else
         {
             GetEfectoShader().SetValue("time", contexto.tiempo);
             contexto.dia.GetSol()
             .Iluminar(contexto.personaje.mesh.Position, this, elemento.ColorEmisor(),
                       elemento.ColorAmbiente(),
                       elemento.ColorDifuso(), elemento.ColorEspecular(), elemento.EspecularEx());
             elemento.Mesh.render();
         }
     }
     else
     {
         GetEfectoShader().SetValue("time", contexto.tiempo);
         contexto.dia.GetSol()
         .Iluminar(contexto.personaje.mesh.Position, this, elemento.ColorEmisor(), elemento.ColorAmbiente(),
                   elemento.ColorDifuso(), elemento.ColorEspecular(), elemento.EspecularEx());
         elemento.Mesh.render();
     }
 }
Exemple #16
0
 /// <summary>
 ///     Renderiza el objeto
 /// </summary>
 public override void renderizar(SuvirvalCraft contexto)
 {
     base.renderizar(contexto);
     if (SeEstaAbriendo())
     {
         progresoApertura.Render();
     }
 }
Exemple #17
0
 /// <summary>
 ///     Renderiza el objeto
 /// </summary>
 public override void renderizar(SuvirvalCraft contexto)
 {
     base.renderizar(contexto);
     if (EstaCocinando())
     {
         progresoCoccion.Render();
     }
 }
Exemple #18
0
 /// <summary>
 ///     Renderiza el objeto
 /// </summary>
 public override void renderizar(SuvirvalCraft contexto)
 {
     base.renderizar(contexto);
     if (estaCreando)
     {
         progresoCreacion.Render();
     }
 }
Exemple #19
0
 public override void Actualizar(SuvirvalCraft contexto)
 {
     GetEfectoShader().SetValue("time", contexto.tiempo);
     GetEfectoShader().SetValue("lightIntensityRelitive", contexto.dia.GetSol().IntensidadRelativa());
     //Necesitamos rojo y verde para formar el rojo en si mismo y tambien el amarillo
     GetEfectoShader().SetValue("colorCielo", contexto.dia.GetSol().GetColorAmanecerAnochecer());
     GetEfectoShader().SetValue("intendidadRayo", contexto.dia.GetLluvia().GetIntensidadRayo(contexto.tiempo));
 }
Exemple #20
0
 public virtual void procesarInteraccion(string accion, SuvirvalCraft contexto, float elapsedTime)
 {
     if (barraEstado == null)
     {
         barraEstado = new BarraEstado(Mesh.BoundingBox.PMin,
                                       new Vector3(BoundingBox().PMin.X, BoundingBox().PMax.Y, BoundingBox().PMin.Z), resistenciaTotal);
     }
     hayInteraccion = true;
 }
Exemple #21
0
 public override void procesarInteraccion(string accion, SuvirvalCraft contexto, float elapsedTime)
 {
     //En el fuego no queremos que se muestre barra de estado.
     if (accion.Equals("Parado"))
     {
         //Cerca del fuego se genera un anmbiente de 24 grados.
         contexto.personaje.IncrementarTemperaturaCorporalPorTiempo(24, elapsedTime);
     }
 }
Exemple #22
0
 public void Actualizar(Vector3 posicionActual, SuvirvalCraft contexto)
 {
     cicloActual++;
     if (cicloActual > referenciaActualizacion)
     {
         cicloActual = 0;
         ActualizarElementosColision(posicionActual);
     }
     ActualizarElementosRenderizacion(contexto);
 }
Exemple #23
0
        public void Render(Personaje personaje, SuvirvalCraft contexto)
        {
            d3dDevice.Transform.View = Matrix.LookAtLH(personaje.PosicionAlturaCabeza(),
                                                       personaje.DireccionAlturaCabeza(150), new Vector3(0, 1, 0));

            //Actualizar volumen del Frustum con nuevos valores de camara
            frustum.updateVolume(d3dDevice.Transform.View, d3dDevice.Transform.Projection);

            //El personaje no debe animarse cuando se esta en primera persona
            personaje.RenderizarPrimeraPersona(contexto);
        }
Exemple #24
0
 private void ActualizarElementosRenderizacion(SuvirvalCraft contexto)
 {
     ElementosRenderizacion.Clear();
     foreach (var elem in Elementos)
     {
         if (ControladorColisiones.FrustumColisionaCuadrado(contexto.Frustum, elem.BoundingBox()))
         {
             ElementosRenderizacion.Add(elem);
         }
     }
 }
Exemple #25
0
 public void Ejecutar(SuvirvalCraft contexto, float elapsedTime)
 {
     if (camaraElegida.Equals(PrimeraPersona))
     {
         contexto.camara = new CamaraPrimeraPersona(contexto.Frustum, D3DDevice.Instance.Device);
     }
     if (camaraElegida.Equals(TerceraPersona))
     {
         //contexto.camara = new CamaraTerceraPersona(GuiController.Instance.ThirdPersonCamera, contexto.personaje.mesh.Position, contexto.Frustum, D3DDevice.Instance.Device);
     }
 }
Exemple #26
0
 public void renderizar(SuvirvalCraft contexto)
 {
     if (Efecto() != null)
     {
         //Delego en el efecto la responsabilidad del renderizado.
         Efecto().ActualizarRenderizar(contexto, this);
     }
     else
     {
         mesh.render();
     }
 }
Exemple #27
0
 public void Renderizar(SuvirvalCraft contexto)
 {
     if (GetEfecto() != null)
     {
         //Si tiene un efecto delegamos en este la responsabilidad de renderizar el terreno
         GetEfecto().ActualizarRenderizar(contexto, this);
     }
     else
     {
         render();
     }
 }
Exemple #28
0
 public override void procesarInteraccion(string accion, SuvirvalCraft contexto, float elapsedTime)
 {
     base.procesarInteraccion(accion, contexto, elapsedTime);
     mensajeInformativo = "Juntar(J), Encender(E)";
     if (accion.Equals("Juntar"))
     {
         //TODO. Esta validacion es porque se ejecuta muchas veces al presionar la tecla. Se deberia solucioanr cuando implementemos los comandos
         if (!contexto.personaje.ContieneElementoEnMochila(this))
         {
             try
             {
                 contexto.personaje.juntar(this);
                 contexto.elementos.Remove(this);
                 contexto.optimizador.ForzarActualizacionElementosColision();
             }
             catch (Exception ex)
             {
                 mensajeInformativo = ex.Message;
             }
         }
     }
     if (accion.Equals("Encender"))
     {
         if (contexto.personaje.TieneAntorchaSeleccionada())
         {
             foreach (var elem in elementosQueContiene())
             {
                 elem.posicion(posicion());
                 elem.Activar();
                 elem.Mesh.BoundingBox.scaleTranslate(posicion(), new Vector3(2f, 0.25f, 2f));
                 contexto.elementos.Add(elem);
                 //TODO. ver si es la mejor forma de manejar los elementos de iluminacion
                 contexto.efectoTerreno.AgregarElementoDeIluminacion(new ElementoIluminacion(elem, 1000));
                 contexto.efectoLuz.AgregarElementoDeIluminacion(new ElementoIluminacion(elem, 1000));
                 contexto.efectoAlgas.AgregarElementoDeIluminacion(new ElementoIluminacion(elem, 1000));
                 contexto.efectoAlgas2.AgregarElementoDeIluminacion(new ElementoIluminacion(elem, 1000));
                 contexto.efectoBotes.AgregarElementoDeIluminacion(new ElementoIluminacion(elem, 1000));
                 contexto.efectoArbol.AgregarElementoDeIluminacion(new ElementoIluminacion(elem, 1000));
                 contexto.efectoArbol2.AgregarElementoDeIluminacion(new ElementoIluminacion(elem, 1000));
                 contexto.efectoLuz2.AgregarElementoDeIluminacion(new ElementoIluminacion(elem, 1000));
                 //TODO+++++++++++++++++++++++++++++++++
             }
             liberar();
             contexto.elementos.Remove(this);
             contexto.optimizador.ForzarActualizacionElementosColision();
         }
         else
         {
             mensajeInformativo = "Debe Utilizar Fuego";
         }
     }
 }
Exemple #29
0
        public void Render(Personaje personaje, SuvirvalCraft contexto)
        {
            //Hacer que la camara siga al personaje en su nueva posicion. Sumamos 100 en el posición de Y porque queremos que la cámara este un poco más alta.
            camaraTgc.Target = personaje.mesh.Position + new Vector3(0, 100, 0);
            //Actualizamos la rotacion si es que hubo
            camaraTgc.RotationY = personaje.mesh.Rotation.Y;
            //Porque el personaje esta rotado 180 grados respecto de la camara.
            camaraTgc.rotateY(Geometry.DegreeToRadian(180f));

            //Actualizar volumen del Frustum con nuevos valores de camara
            frustum.updateVolume(d3dDevice.Transform.View, d3dDevice.Transform.Projection);

            personaje.RenderizarTerceraPersona(contexto);
        }
Exemple #30
0
 public void Ejecutar(SuvirvalCraft contexto, float elapsedTime)
 {
     if (contexto.personaje.TieneAntorchaSeleccionada())
     {
         contexto.personaje.antorcha.Desactivar();
         contexto.efectoTerreno.EliminarElementoDeIluminacion(contexto.personaje.antorcha);
         contexto.efectoLuz.EliminarElementoDeIluminacion(contexto.personaje.antorcha);
         contexto.efectoAlgas.EliminarElementoDeIluminacion(contexto.personaje.antorcha);
         contexto.efectoAlgas2.EliminarElementoDeIluminacion(contexto.personaje.antorcha);
         contexto.efectoBotes.EliminarElementoDeIluminacion(contexto.personaje.antorcha);
         contexto.efectoArbol.EliminarElementoDeIluminacion(contexto.personaje.antorcha);
         contexto.efectoArbol2.EliminarElementoDeIluminacion(contexto.personaje.antorcha);
         contexto.efectoLuz2.EliminarElementoDeIluminacion(contexto.personaje.antorcha);
     }
 }