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(); } }