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