Ben C cbd0109ea0 Merge branch 'dev' into schema-integration
# Conflicts:
#	NewHorizons/Builder/Body/FunnelBuilder.cs
#	NewHorizons/External/Configs/PlanetConfig.cs
#	NewHorizons/External/Configs/StarSystemConfig.cs
#	NewHorizons/External/Modules/AsteroidBeltModule.cs
#	NewHorizons/External/Modules/AtmosphereModule.cs
#	NewHorizons/External/Modules/BaseModule.cs
#	NewHorizons/External/Modules/OrbitModule.cs
#	NewHorizons/External/Modules/PropModule.cs
#	NewHorizons/External/Modules/ShipLogModule.cs
#	NewHorizons/External/Modules/SignalModule.cs
#	NewHorizons/External/Modules/VariableSize/FunnelModule.cs
#	NewHorizons/External/Modules/VariableSize/RingModule.cs
#	NewHorizons/External/Modules/VariableSize/SingularityModule.cs
#	NewHorizons/External/Modules/VariableSize/StarModule.cs
#	NewHorizons/Main.cs
2022-05-22 13:24:02 -04:00

54 lines
1.7 KiB
C#

using System.Runtime.Serialization;
using NewHorizons.Utility;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.ComponentModel;
namespace NewHorizons.External.Modules.VariableSize
{
[JsonObject]
public class SingularityModule : VariableSizeModule
{
public enum SingularityType
{
[EnumMember(Value = @"BlackHole")]
BlackHole = 0,
[EnumMember(Value = @"WhiteHole")]
WhiteHole = 1
}
/// <summary>
/// Radius of the singularity. Note that this isn't the same as the event horizon, but includes the entire volume that has warped effects in it.
/// </summary>
public float Size;
/// <summary>
/// The name of the white hole or black hole that is paired to this one. If you don't set a value, entering will kill the player
/// </summary>
public string PairedSingularity;
/// <summary>
/// If you want a black hole to load a new star system scene, put its name here.
/// </summary>
public string TargetStarSystem;
/// <summary>
/// Type of singularity (white hole or black hole)
/// </summary>
[JsonConverter(typeof(StringEnumConverter))]
public SingularityType Type;
/// <summary>
/// Position of the singularity
/// </summary>
public MVector3 Position;
/// <summary>
/// Only for White Holes. Should this white hole repel the player from it.
/// </summary>
[DefaultValue(true)]
public bool MakeZeroGVolume = true;
}
}