using NewHorizons.External.Modules.SerializableData;
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;
///
/// Do we try to automatically align this object to stand upright relative to the body's center? Stacks with rotation.
/// Defaults to true for geysers, tornados, and volcanoes, and false for everything else.
///
public bool? alignRadial;
}
[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;
}
}