Esempio n. 1
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();
     }
 }