ChurchLight.cs
namespace CryptidHunt;
public sealed class ChurchLight : Component
{
[Property]
public List<SpotLight> Lights { get; set; }
[Property]
public Color Color { get; set; }
protected override void OnFixedUpdate()
{
var camera = Scene.Camera;
if ( !camera.IsValid() ) return;
foreach ( var light in Lights )
{
var distance = light.WorldPosition.Distance( camera.WorldPosition );
var intensity = MathX.Remap( distance, 1800f, 5000f, 0.02f, 1f );
light.LightColor = Color.Black.LerpTo( Color, intensity );
}
}
}