using System.ComponentModel; using System.ComponentModel.DataAnnotations; using NewHorizons.Utility; using Newtonsoft.Json; namespace NewHorizons.External.Modules.VariableSize { [JsonObject] public class StarModule : VariableSizeModule { /// /// Colour of the star at the end of its life. /// public MColor endTint; /// /// Should this star explode after 22 minutes? /// [DefaultValue(true)] public bool goSupernova = true; /// /// Should we add a star controller to this body? If you want clouds to work on a binary brown dwarf system, set this to false. /// [DefaultValue(true)] public bool hasStarController = true; /// /// The default sun has its own atmosphere that is different from regular planets. If you want that, set this to /// `true`. /// [DefaultValue(true)] public bool hasAtmosphere = true; /// /// Colour of the light given off. Defaults to yellowish. /// public MColor lightTint; /// /// Radius of the star. /// [DefaultValue(2000f)] [Range(0f, double.MaxValue)] public float size = 2000f; /// /// Relative strength of the light compared to the sun. /// [DefaultValue(1f)] [Range(0f, double.MaxValue)] public float solarLuminosity = 1f; /// /// The tint of the supernova this star creates when it dies. /// public MColor supernovaTint; /// /// Colour of the star. /// public MColor tint; /// /// Path to the texture to put as the star ramp. Optional. /// public string starRampTexture; /// /// Path to the texture to put as the star ramp while it is collapsing. Optional. /// public string starCollapseRampTexture; /// /// How far the light from the star can reach. /// [DefaultValue(50000f)] [Range(0f, double.MaxValue)] public float lightRadius = 50000f; } }