diff --git a/NewHorizons/External/Modules/Props/Quantum/BaseQuantumGroupInfo.cs b/NewHorizons/External/Modules/Props/Quantum/BaseQuantumGroupInfo.cs new file mode 100644 index 00000000..88a78542 --- /dev/null +++ b/NewHorizons/External/Modules/Props/Quantum/BaseQuantumGroupInfo.cs @@ -0,0 +1,6 @@ +namespace NewHorizons.External.Modules.Props.Quantum; + +internal class BaseQuantumGroupInfo +{ + public string id; +} diff --git a/NewHorizons/External/Modules/Props/Quantum/QuantumGroupInfo.cs b/NewHorizons/External/Modules/Props/Quantum/QuantumGroupInfo.cs index 7fdc66e6..2c056fe3 100644 --- a/NewHorizons/External/Modules/Props/Quantum/QuantumGroupInfo.cs +++ b/NewHorizons/External/Modules/Props/Quantum/QuantumGroupInfo.cs @@ -1,9 +1,11 @@ using Newtonsoft.Json; +using System; using System.ComponentModel; namespace NewHorizons.External.Modules.Props.Quantum { [JsonObject] + [Obsolete] public class QuantumGroupInfo { /// @@ -34,11 +36,6 @@ namespace NewHorizons.External.Modules.Props.Quantum /// /// Optional. Only used if type is `states` and `sequential` is true. If this is false, then after the last state has appeared, the object will no longer change state /// - [DefaultValue(true)] public bool loop = true; - - /// - /// Flash of lightning and changes state - /// - public bool lightning; + [DefaultValue(true)] public bool loop = true; } } diff --git a/NewHorizons/External/Modules/Props/Quantum/QuantumGroupType.cs b/NewHorizons/External/Modules/Props/Quantum/QuantumGroupType.cs index 8fb3a78f..36264cc0 100644 --- a/NewHorizons/External/Modules/Props/Quantum/QuantumGroupType.cs +++ b/NewHorizons/External/Modules/Props/Quantum/QuantumGroupType.cs @@ -1,10 +1,12 @@ using Newtonsoft.Json; using Newtonsoft.Json.Converters; +using System; using System.Runtime.Serialization; namespace NewHorizons.External.Modules.Props.Quantum { [JsonConverter(typeof(StringEnumConverter))] + [Obsolete] public enum QuantumGroupType { [EnumMember(Value = @"sockets")] Sockets = 0, diff --git a/NewHorizons/External/Modules/Props/Quantum/SocketQuantumGroupInfo.cs b/NewHorizons/External/Modules/Props/Quantum/SocketQuantumGroupInfo.cs new file mode 100644 index 00000000..444dbde5 --- /dev/null +++ b/NewHorizons/External/Modules/Props/Quantum/SocketQuantumGroupInfo.cs @@ -0,0 +1,9 @@ +using Newtonsoft.Json; + +namespace NewHorizons.External.Modules.Props.Quantum; + +[JsonObject] +internal class SocketQuantumGroupInfo : BaseQuantumGroupInfo +{ + QuantumSocketInfo[] sockets; +} diff --git a/NewHorizons/External/Modules/Props/Quantum/StatesQuantumGroupInfo.cs b/NewHorizons/External/Modules/Props/Quantum/StatesQuantumGroupInfo.cs new file mode 100644 index 00000000..bec05ef8 --- /dev/null +++ b/NewHorizons/External/Modules/Props/Quantum/StatesQuantumGroupInfo.cs @@ -0,0 +1,18 @@ +using Newtonsoft.Json; +using System.ComponentModel; + +namespace NewHorizons.External.Modules.Props.Quantum; + +[JsonObject] +internal class StatesQuantumGroupInfo : BaseQuantumGroupInfo +{ + /// + /// Optional. If this is true, then the states will be presented in order, rather than in a random order + /// + public bool sequential; + + /// + /// Optional. Only used if `sequential` is true. If this is false, then after the last state has appeared, the object will no longer change state + /// + [DefaultValue(true)] public bool loop = true; +}