using System.ComponentModel; using System.ComponentModel.DataAnnotations; using Newtonsoft.Json; namespace NewHorizons.External.Modules { [JsonObject] public class AsteroidBeltModule { /// /// Amount of asteroids to create. /// [Range(-1, 200)] [DefaultValue(-1)] public int amount = -1; /// /// Angle between the rings and the equatorial plane of the planet. /// public float inclination; /// /// Lowest distance from the planet asteroids can spawn /// [Range(0f, double.MaxValue)] public float innerRadius; /// /// Angle defining the point where the rings rise up from the planet's equatorial plane if inclination is nonzero. /// public float longitudeOfAscendingNode; /// /// Maximum size of the asteroids. /// [Range(0f, double.MaxValue)] [DefaultValue(50)] public float maxSize = 50f; /// /// Minimum size of the asteroids. /// [Range(0f, double.MaxValue)] [DefaultValue(20)] public float minSize = 20; /// /// Greatest distance from the planet asteroids can spawn /// [Range(0f, double.MaxValue)] public float outerRadius; /// /// How the asteroids are generated /// public ProcGenModule procGen; /// /// Number used to randomize asteroid positions /// public int randomSeed; } }