using NewHorizons.Utility; using Newtonsoft.Json; namespace NewHorizons.External.Modules { [JsonObject] public abstract class GeneralPointPropInfo { /// /// Position of the object /// public MVector3 position; /// /// The relative path from the planet to the parent of this object. Optional (will default to the root sector). /// public string parentPath; /// /// Whether the positional and rotational coordinates are relative to parent instead of the root planet object. /// public bool isRelativeToParent; /// /// An optional rename of this object /// public string rename; } [JsonObject] public abstract class GeneralPropInfo : GeneralPointPropInfo { /// /// Rotation of the object /// public MVector3 rotation; } [JsonObject] public abstract class GeneralSolarSystemPropInfo : GeneralPropInfo { /// /// The name of the planet that will be used with `parentPath`. Must be set if `parentPath` is set. /// public string parentBody; } }