using System; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using NewHorizons.Utility; using Newtonsoft.Json; namespace NewHorizons.External.Modules { [JsonObject] public class AmbientLightModule { /// /// The range of the light. Defaults to surfaceSize * 2. /// [Range(0, double.MaxValue)] public float? outerRadius; /// /// The lower radius where the light is brightest, fading in from outerRadius. Defaults to surfaceSize. /// [Range(0, double.MaxValue)] public float? innerRadius; /// /// The brightness of the light. For reference, Timber Hearth is `1.4`, and Giant's Deep is `0.8`. /// [Range(0, double.MaxValue)][DefaultValue(1f)] public float intensity = 1f; /// /// The tint of the light /// public MColor tint; /// /// If true, the light will work as a shell between inner and outer radius. /// [DefaultValue(false)] public bool isShell = false; /// /// The position of the light /// public MVector3 position; } }