From e8c05f4818322b94db02189d9f1c0c9e3655bbcc Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 25 Mar 2023 14:18:52 -0400 Subject: [PATCH] Done rearranging volumes --- NewHorizons/Builder/ShipLog/RevealBuilder.cs | 2 +- .../Builder/Volumes/AudioVolumeBuilder.cs | 2 +- .../Volumes/ChangeStarSystemVolumeBuilder.cs | 2 +- .../Builder/Volumes/CreditsVolumeBuilder.cs | 2 +- .../Volumes/DestructionVolumeBuilder.cs | 2 +- .../Builder/Volumes/FluidVolumeBuilder.cs | 2 +- .../Builder/Volumes/HazardVolumeBuilder.cs | 2 +- .../Volumes/NotificationVolumeBuilder.cs | 2 +- .../Builder/Volumes/OxygenVolumeBuilder.cs | 2 +- .../Builder/Volumes/PriorityVolumeBuilder.cs | 2 +- .../Rulesets/PlayerImpactRulesetBuilder.cs | 1 + .../Volumes/Rulesets/ProbeRulesetBuilder.cs | 1 + .../Volumes/Rulesets/ThrustRulesetBuilder.cs | 1 + .../Builder/Volumes/SpeedTrapVolumeBuilder.cs | 2 +- .../Builder/Volumes/VanishVolumeBuilder.cs | 2 +- .../VisorFrostEffectVolumeBuilder.cs | 1 + .../VisorRainEffectVolumeBuilder.cs | 1 + NewHorizons/Builder/Volumes/VolumeBuilder.cs | 2 +- .../Builder/Volumes/ZeroGVolumeBuilder.cs | 2 +- .../Components/Volumes/LoadCreditsVolume.cs | 2 +- .../Components/Volumes/NotificationVolume.cs | 2 +- NewHorizons/External/Configs/PlanetConfig.cs | 1 + NewHorizons/External/Modules/PropModule.cs | 2 +- .../CreditsType.cs | 2 +- .../DeathType.cs | 2 +- .../External/Modules/Volumes/ProbeModule.cs | 19 ++++ .../{VolumeInfo.cs => RulesetModule.cs} | 96 +------------------ .../Modules/Volumes/VisorEffectModule.cs | 55 +++++++++++ .../{ => VolumeInfos}/AudioVolumeInfo.cs | 2 +- .../ChangeStarSystemVolumeInfo.cs | 2 +- .../DestructionVolumeInfo.cs | 2 +- .../{ => VolumeInfos}/FluidVolumeInfo.cs | 2 +- .../{ => VolumeInfos}/HazardVolumeInfo.cs | 2 +- .../LoadCreditsVolumeInfo.cs | 3 +- .../NotificationVolumeInfo.cs | 2 +- .../{ => VolumeInfos}/OxygenVolumeInfo.cs | 2 +- .../{ => VolumeInfos}/PriorityVolumeInfo.cs | 2 +- .../{ => VolumeInfos}/RevealVolumeInfo.cs | 2 +- .../VolumeInfos/SpeedTrapVolumeInfo.cs | 21 ++++ .../{ => VolumeInfos}/VanishVolumeInfo.cs | 2 +- .../Modules/Volumes/VolumeInfos/VolumeInfo.cs | 18 ++++ .../External/Modules/Volumes/VolumesModule.cs | 1 + 42 files changed, 152 insertions(+), 125 deletions(-) rename NewHorizons/External/Modules/{Volumes => SerializableEnums}/CreditsType.cs (85%) rename NewHorizons/External/Modules/{Volumes => SerializableEnums}/DeathType.cs (94%) create mode 100644 NewHorizons/External/Modules/Volumes/ProbeModule.cs rename NewHorizons/External/Modules/Volumes/{VolumeInfo.cs => RulesetModule.cs} (51%) create mode 100644 NewHorizons/External/Modules/Volumes/VisorEffectModule.cs rename NewHorizons/External/Modules/Volumes/{ => VolumeInfos}/AudioVolumeInfo.cs (96%) rename NewHorizons/External/Modules/Volumes/{ => VolumeInfos}/ChangeStarSystemVolumeInfo.cs (84%) rename NewHorizons/External/Modules/Volumes/{ => VolumeInfos}/DestructionVolumeInfo.cs (85%) rename NewHorizons/External/Modules/Volumes/{ => VolumeInfos}/FluidVolumeInfo.cs (94%) rename NewHorizons/External/Modules/Volumes/{ => VolumeInfos}/HazardVolumeInfo.cs (96%) rename NewHorizons/External/Modules/Volumes/{ => VolumeInfos}/LoadCreditsVolumeInfo.cs (84%) rename NewHorizons/External/Modules/Volumes/{ => VolumeInfos}/NotificationVolumeInfo.cs (95%) rename NewHorizons/External/Modules/Volumes/{ => VolumeInfos}/OxygenVolumeInfo.cs (90%) rename NewHorizons/External/Modules/Volumes/{ => VolumeInfos}/PriorityVolumeInfo.cs (90%) rename NewHorizons/External/Modules/Volumes/{ => VolumeInfos}/RevealVolumeInfo.cs (96%) create mode 100644 NewHorizons/External/Modules/Volumes/VolumeInfos/SpeedTrapVolumeInfo.cs rename NewHorizons/External/Modules/Volumes/{ => VolumeInfos}/VanishVolumeInfo.cs (89%) create mode 100644 NewHorizons/External/Modules/Volumes/VolumeInfos/VolumeInfo.cs diff --git a/NewHorizons/Builder/ShipLog/RevealBuilder.cs b/NewHorizons/Builder/ShipLog/RevealBuilder.cs index ff8364f2..cde8deb2 100644 --- a/NewHorizons/Builder/ShipLog/RevealBuilder.cs +++ b/NewHorizons/Builder/ShipLog/RevealBuilder.cs @@ -1,6 +1,6 @@ using NewHorizons.Builder.Props; using NewHorizons.Components.Achievement; -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using NewHorizons.Utility.OWUtilities; using OWML.Common; using UnityEngine; diff --git a/NewHorizons/Builder/Volumes/AudioVolumeBuilder.cs b/NewHorizons/Builder/Volumes/AudioVolumeBuilder.cs index 7a4eef85..54ed8080 100644 --- a/NewHorizons/Builder/Volumes/AudioVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/AudioVolumeBuilder.cs @@ -1,5 +1,5 @@ using NewHorizons.Builder.Props; -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using NewHorizons.Utility; using NewHorizons.Utility.OWUtilities; using OWML.Common; diff --git a/NewHorizons/Builder/Volumes/ChangeStarSystemVolumeBuilder.cs b/NewHorizons/Builder/Volumes/ChangeStarSystemVolumeBuilder.cs index bf2b92fc..c3b8c5db 100644 --- a/NewHorizons/Builder/Volumes/ChangeStarSystemVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/ChangeStarSystemVolumeBuilder.cs @@ -1,5 +1,5 @@ using NewHorizons.Components.Volumes; -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using UnityEngine; namespace NewHorizons.Builder.Volumes diff --git a/NewHorizons/Builder/Volumes/CreditsVolumeBuilder.cs b/NewHorizons/Builder/Volumes/CreditsVolumeBuilder.cs index 52d17585..70093cc4 100644 --- a/NewHorizons/Builder/Volumes/CreditsVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/CreditsVolumeBuilder.cs @@ -1,5 +1,5 @@ using NewHorizons.Components.Volumes; -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using OWML.Utils; using UnityEngine; diff --git a/NewHorizons/Builder/Volumes/DestructionVolumeBuilder.cs b/NewHorizons/Builder/Volumes/DestructionVolumeBuilder.cs index d077dfd1..ad93ad7f 100644 --- a/NewHorizons/Builder/Volumes/DestructionVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/DestructionVolumeBuilder.cs @@ -1,4 +1,4 @@ -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using OWML.Utils; using UnityEngine; diff --git a/NewHorizons/Builder/Volumes/FluidVolumeBuilder.cs b/NewHorizons/Builder/Volumes/FluidVolumeBuilder.cs index eb8038cb..e2839bd3 100644 --- a/NewHorizons/Builder/Volumes/FluidVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/FluidVolumeBuilder.cs @@ -1,5 +1,5 @@ using NewHorizons.Components.Volumes; -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using OWML.Utils; using UnityEngine; diff --git a/NewHorizons/Builder/Volumes/HazardVolumeBuilder.cs b/NewHorizons/Builder/Volumes/HazardVolumeBuilder.cs index 1338fbb6..8d995669 100644 --- a/NewHorizons/Builder/Volumes/HazardVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/HazardVolumeBuilder.cs @@ -1,5 +1,5 @@ using NewHorizons.Builder.Props; -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using NewHorizons.Utility.OWUtilities; using OWML.Common; using OWML.Utils; diff --git a/NewHorizons/Builder/Volumes/NotificationVolumeBuilder.cs b/NewHorizons/Builder/Volumes/NotificationVolumeBuilder.cs index ed7ea8fb..6e52c5a8 100644 --- a/NewHorizons/Builder/Volumes/NotificationVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/NotificationVolumeBuilder.cs @@ -1,5 +1,5 @@ using NewHorizons.Builder.Props; -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using NewHorizons.Utility.OWUtilities; using OWML.Common; using UnityEngine; diff --git a/NewHorizons/Builder/Volumes/OxygenVolumeBuilder.cs b/NewHorizons/Builder/Volumes/OxygenVolumeBuilder.cs index b37bf219..3fa34dfe 100644 --- a/NewHorizons/Builder/Volumes/OxygenVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/OxygenVolumeBuilder.cs @@ -1,4 +1,4 @@ -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using UnityEngine; namespace NewHorizons.Builder.Volumes diff --git a/NewHorizons/Builder/Volumes/PriorityVolumeBuilder.cs b/NewHorizons/Builder/Volumes/PriorityVolumeBuilder.cs index 106f89f8..f3cce567 100644 --- a/NewHorizons/Builder/Volumes/PriorityVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/PriorityVolumeBuilder.cs @@ -1,4 +1,4 @@ -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using UnityEngine; namespace NewHorizons.Builder.Volumes diff --git a/NewHorizons/Builder/Volumes/Rulesets/PlayerImpactRulesetBuilder.cs b/NewHorizons/Builder/Volumes/Rulesets/PlayerImpactRulesetBuilder.cs index f892ea07..f6d7ed2e 100644 --- a/NewHorizons/Builder/Volumes/Rulesets/PlayerImpactRulesetBuilder.cs +++ b/NewHorizons/Builder/Volumes/Rulesets/PlayerImpactRulesetBuilder.cs @@ -1,4 +1,5 @@ using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using UnityEngine; namespace NewHorizons.Builder.Volumes.Rulesets diff --git a/NewHorizons/Builder/Volumes/Rulesets/ProbeRulesetBuilder.cs b/NewHorizons/Builder/Volumes/Rulesets/ProbeRulesetBuilder.cs index 98823ffa..33dbdbbc 100644 --- a/NewHorizons/Builder/Volumes/Rulesets/ProbeRulesetBuilder.cs +++ b/NewHorizons/Builder/Volumes/Rulesets/ProbeRulesetBuilder.cs @@ -1,4 +1,5 @@ using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using UnityEngine; namespace NewHorizons.Builder.Volumes.Rulesets diff --git a/NewHorizons/Builder/Volumes/Rulesets/ThrustRulesetBuilder.cs b/NewHorizons/Builder/Volumes/Rulesets/ThrustRulesetBuilder.cs index 8a49808d..a3677511 100644 --- a/NewHorizons/Builder/Volumes/Rulesets/ThrustRulesetBuilder.cs +++ b/NewHorizons/Builder/Volumes/Rulesets/ThrustRulesetBuilder.cs @@ -1,4 +1,5 @@ using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using UnityEngine; namespace NewHorizons.Builder.Volumes.Rulesets diff --git a/NewHorizons/Builder/Volumes/SpeedTrapVolumeBuilder.cs b/NewHorizons/Builder/Volumes/SpeedTrapVolumeBuilder.cs index 79f5a69e..fa1ed9bc 100644 --- a/NewHorizons/Builder/Volumes/SpeedTrapVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/SpeedTrapVolumeBuilder.cs @@ -1,4 +1,4 @@ -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using UnityEngine; namespace NewHorizons.Builder.Volumes diff --git a/NewHorizons/Builder/Volumes/VanishVolumeBuilder.cs b/NewHorizons/Builder/Volumes/VanishVolumeBuilder.cs index 68f888ca..b1a26287 100644 --- a/NewHorizons/Builder/Volumes/VanishVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/VanishVolumeBuilder.cs @@ -1,5 +1,5 @@ using NewHorizons.Builder.Props; -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using NewHorizons.Utility.OWUtilities; using UnityEngine; diff --git a/NewHorizons/Builder/Volumes/VisorEffects/VisorFrostEffectVolumeBuilder.cs b/NewHorizons/Builder/Volumes/VisorEffects/VisorFrostEffectVolumeBuilder.cs index 793d72b4..029b98c9 100644 --- a/NewHorizons/Builder/Volumes/VisorEffects/VisorFrostEffectVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/VisorEffects/VisorFrostEffectVolumeBuilder.cs @@ -1,4 +1,5 @@ using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using UnityEngine; namespace NewHorizons.Builder.Volumes.VisorEffects diff --git a/NewHorizons/Builder/Volumes/VisorEffects/VisorRainEffectVolumeBuilder.cs b/NewHorizons/Builder/Volumes/VisorEffects/VisorRainEffectVolumeBuilder.cs index e07c95e6..2f32f189 100644 --- a/NewHorizons/Builder/Volumes/VisorEffects/VisorRainEffectVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/VisorEffects/VisorRainEffectVolumeBuilder.cs @@ -1,4 +1,5 @@ using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using UnityEngine; namespace NewHorizons.Builder.Volumes.VisorEffects diff --git a/NewHorizons/Builder/Volumes/VolumeBuilder.cs b/NewHorizons/Builder/Volumes/VolumeBuilder.cs index 2988e7c5..760bc4c2 100644 --- a/NewHorizons/Builder/Volumes/VolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/VolumeBuilder.cs @@ -1,5 +1,5 @@ using NewHorizons.Builder.Props; -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using NewHorizons.Utility.OWUtilities; using UnityEngine; diff --git a/NewHorizons/Builder/Volumes/ZeroGVolumeBuilder.cs b/NewHorizons/Builder/Volumes/ZeroGVolumeBuilder.cs index da1867d1..afdde0b8 100644 --- a/NewHorizons/Builder/Volumes/ZeroGVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/ZeroGVolumeBuilder.cs @@ -1,4 +1,4 @@ -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using UnityEngine; namespace NewHorizons.Builder.Volumes diff --git a/NewHorizons/Components/Volumes/LoadCreditsVolume.cs b/NewHorizons/Components/Volumes/LoadCreditsVolume.cs index 2720b158..60813cdf 100644 --- a/NewHorizons/Components/Volumes/LoadCreditsVolume.cs +++ b/NewHorizons/Components/Volumes/LoadCreditsVolume.cs @@ -1,4 +1,4 @@ -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.SerializableEnums; using NewHorizons.Handlers; using System.Collections; using UnityEngine; diff --git a/NewHorizons/Components/Volumes/NotificationVolume.cs b/NewHorizons/Components/Volumes/NotificationVolume.cs index 6ffa4776..97692f55 100644 --- a/NewHorizons/Components/Volumes/NotificationVolume.cs +++ b/NewHorizons/Components/Volumes/NotificationVolume.cs @@ -1,4 +1,4 @@ -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using NewHorizons.Handlers; using OWML.Utils; using UnityEngine; diff --git a/NewHorizons/External/Configs/PlanetConfig.cs b/NewHorizons/External/Configs/PlanetConfig.cs index 88a936e2..2d5a707d 100644 --- a/NewHorizons/External/Configs/PlanetConfig.cs +++ b/NewHorizons/External/Configs/PlanetConfig.cs @@ -4,6 +4,7 @@ using NewHorizons.External.Modules.Props.Dialogue; using NewHorizons.External.Modules.Props.Quantum; using NewHorizons.External.Modules.VariableSize; using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using Newtonsoft.Json; using System; using System.Collections.Generic; diff --git a/NewHorizons/External/Modules/PropModule.cs b/NewHorizons/External/Modules/PropModule.cs index 266cd0e4..dd6860c6 100644 --- a/NewHorizons/External/Modules/PropModule.cs +++ b/NewHorizons/External/Modules/PropModule.cs @@ -5,7 +5,7 @@ using NewHorizons.External.Modules.Props.Quantum; using NewHorizons.External.Modules.Props.Remote; using NewHorizons.External.Modules.TranslatorText; using NewHorizons.External.Modules.VariableSize; -using NewHorizons.External.Modules.Volumes; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using NewHorizons.External.Modules.WarpPad; using Newtonsoft.Json; using System; diff --git a/NewHorizons/External/Modules/Volumes/CreditsType.cs b/NewHorizons/External/Modules/SerializableEnums/CreditsType.cs similarity index 85% rename from NewHorizons/External/Modules/Volumes/CreditsType.cs rename to NewHorizons/External/Modules/SerializableEnums/CreditsType.cs index 984c3512..c24f6c9a 100644 --- a/NewHorizons/External/Modules/Volumes/CreditsType.cs +++ b/NewHorizons/External/Modules/SerializableEnums/CreditsType.cs @@ -2,7 +2,7 @@ using Newtonsoft.Json; using Newtonsoft.Json.Converters; using System.Runtime.Serialization; -namespace NewHorizons.External.Modules.Volumes +namespace NewHorizons.External.Modules.SerializableEnums { [JsonConverter(typeof(StringEnumConverter))] public enum CreditsType diff --git a/NewHorizons/External/Modules/Volumes/DeathType.cs b/NewHorizons/External/Modules/SerializableEnums/DeathType.cs similarity index 94% rename from NewHorizons/External/Modules/Volumes/DeathType.cs rename to NewHorizons/External/Modules/SerializableEnums/DeathType.cs index 58a3d528..c87c30a0 100644 --- a/NewHorizons/External/Modules/Volumes/DeathType.cs +++ b/NewHorizons/External/Modules/SerializableEnums/DeathType.cs @@ -2,7 +2,7 @@ using Newtonsoft.Json; using Newtonsoft.Json.Converters; using System.Runtime.Serialization; -namespace NewHorizons.External.Modules.Volumes +namespace NewHorizons.External.Modules.SerializableEnums { [JsonConverter(typeof(StringEnumConverter))] public enum DeathType diff --git a/NewHorizons/External/Modules/Volumes/ProbeModule.cs b/NewHorizons/External/Modules/Volumes/ProbeModule.cs new file mode 100644 index 00000000..27568ae9 --- /dev/null +++ b/NewHorizons/External/Modules/Volumes/ProbeModule.cs @@ -0,0 +1,19 @@ +using NewHorizons.External.Modules.Volumes.VolumeInfos; +using Newtonsoft.Json; + +namespace NewHorizons.External.Modules.Volumes +{ + [JsonObject] + public class ProbeModule + { + /// + /// Add probe destruction volumes to this planet. These will delete your probe. + /// + public VolumeInfo[] destructionVolumes; + + /// + /// Add probe safety volumes to this planet. These will stop the probe destruction volumes from working. + /// + public VolumeInfo[] safetyVolumes; + } +} diff --git a/NewHorizons/External/Modules/Volumes/VolumeInfo.cs b/NewHorizons/External/Modules/Volumes/RulesetModule.cs similarity index 51% rename from NewHorizons/External/Modules/Volumes/VolumeInfo.cs rename to NewHorizons/External/Modules/Volumes/RulesetModule.cs index 561c2be7..3604ba2e 100644 --- a/NewHorizons/External/Modules/Volumes/VolumeInfo.cs +++ b/NewHorizons/External/Modules/Volumes/RulesetModule.cs @@ -1,88 +1,9 @@ -using NewHorizons.External.Modules.Audio; +using NewHorizons.External.Modules.Volumes.VolumeInfos; using Newtonsoft.Json; -using Newtonsoft.Json.Converters; using System.ComponentModel; -using System.ComponentModel.DataAnnotations; -using System.Runtime.Serialization; namespace NewHorizons.External.Modules.Volumes { - [JsonObject] - public class VolumeInfo : GeneralPointPropInfo - { - /// - /// The radius of this volume. - /// - [DefaultValue(1f)] public float radius = 1f; - } - - - - - - - - [JsonObject] - public class ProbeModule - { - /// - /// Add probe destruction volumes to this planet. These will delete your probe. - /// - public VolumeInfo[] destructionVolumes; - - /// - /// Add probe safety volumes to this planet. These will stop the probe destruction volumes from working. - /// - public VolumeInfo[] safetyVolumes; - } - - [JsonObject] - public class VisorEffectModule - { - /// - /// Add visor frost effect volumes to this planet. This is the ghost matter effect. - /// - public FrostEffectVolumeInfo[] frostEffectVolumes; - - /// - /// Add visor rain effect volumes to this planet. You can see this on Giant's Deep. - /// - public RainEffectVolumeInfo[] rainEffectVolumes; - - [JsonObject] - public class FrostEffectVolumeInfo : PriorityVolumeInfo - { - /// - /// The rate at which the frost effect will get stronger - /// - [DefaultValue(0.5f)] - public float frostRate = 0.5f; - - /// - /// The maximum strength of frost this volume can give - /// - [Range(0f, 1f)] - [DefaultValue(0.91f)] - public float maxFrost = 0.91f; - } - - [JsonObject] - public class RainEffectVolumeInfo : PriorityVolumeInfo - { - /// - /// The rate at which the rain droplet effect will happen - /// - [DefaultValue(0.1f)] - public float dropletRate = 10f; - - /// - /// The rate at which the rain streak effect will happen - /// - [DefaultValue(1f)] - public float streakRate = 1f; - } - } - [JsonObject] public class RulesetModule { @@ -166,19 +87,4 @@ namespace NewHorizons.External.Modules.Volumes } } - [JsonObject] - public class SpeedTrapVolumeInfo : VolumeInfo - { - /// - /// The speed the volume will slow you down to when you enter it. - /// - [DefaultValue(10f)] - public float speedLimit = 10f; - - /// - /// How fast it will slow down the player to the speed limit. - /// - [DefaultValue(3f)] - public float acceleration = 3f; - } } diff --git a/NewHorizons/External/Modules/Volumes/VisorEffectModule.cs b/NewHorizons/External/Modules/Volumes/VisorEffectModule.cs new file mode 100644 index 00000000..29c5ce45 --- /dev/null +++ b/NewHorizons/External/Modules/Volumes/VisorEffectModule.cs @@ -0,0 +1,55 @@ +using NewHorizons.External.Modules.Volumes.VolumeInfos; +using Newtonsoft.Json; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; + +namespace NewHorizons.External.Modules.Volumes +{ + [JsonObject] + public class VisorEffectModule + { + /// + /// Add visor frost effect volumes to this planet. This is the ghost matter effect. + /// + public FrostEffectVolumeInfo[] frostEffectVolumes; + + /// + /// Add visor rain effect volumes to this planet. You can see this on Giant's Deep. + /// + public RainEffectVolumeInfo[] rainEffectVolumes; + + [JsonObject] + public class FrostEffectVolumeInfo : PriorityVolumeInfo + { + /// + /// The rate at which the frost effect will get stronger + /// + [DefaultValue(0.5f)] + public float frostRate = 0.5f; + + /// + /// The maximum strength of frost this volume can give + /// + [Range(0f, 1f)] + [DefaultValue(0.91f)] + public float maxFrost = 0.91f; + } + + [JsonObject] + public class RainEffectVolumeInfo : PriorityVolumeInfo + { + /// + /// The rate at which the rain droplet effect will happen + /// + [DefaultValue(0.1f)] + public float dropletRate = 10f; + + /// + /// The rate at which the rain streak effect will happen + /// + [DefaultValue(1f)] + public float streakRate = 1f; + } + } + +} diff --git a/NewHorizons/External/Modules/Volumes/AudioVolumeInfo.cs b/NewHorizons/External/Modules/Volumes/VolumeInfos/AudioVolumeInfo.cs similarity index 96% rename from NewHorizons/External/Modules/Volumes/AudioVolumeInfo.cs rename to NewHorizons/External/Modules/Volumes/VolumeInfos/AudioVolumeInfo.cs index 48803e6f..f1b692f0 100644 --- a/NewHorizons/External/Modules/Volumes/AudioVolumeInfo.cs +++ b/NewHorizons/External/Modules/Volumes/VolumeInfos/AudioVolumeInfo.cs @@ -3,7 +3,7 @@ using Newtonsoft.Json; using System.ComponentModel; using System.ComponentModel.DataAnnotations; -namespace NewHorizons.External.Modules.Volumes +namespace NewHorizons.External.Modules.Volumes.VolumeInfos { [JsonObject] public class AudioVolumeInfo : PriorityVolumeInfo diff --git a/NewHorizons/External/Modules/Volumes/ChangeStarSystemVolumeInfo.cs b/NewHorizons/External/Modules/Volumes/VolumeInfos/ChangeStarSystemVolumeInfo.cs similarity index 84% rename from NewHorizons/External/Modules/Volumes/ChangeStarSystemVolumeInfo.cs rename to NewHorizons/External/Modules/Volumes/VolumeInfos/ChangeStarSystemVolumeInfo.cs index 77c07638..969a5945 100644 --- a/NewHorizons/External/Modules/Volumes/ChangeStarSystemVolumeInfo.cs +++ b/NewHorizons/External/Modules/Volumes/VolumeInfos/ChangeStarSystemVolumeInfo.cs @@ -1,7 +1,7 @@ using Newtonsoft.Json; using System.ComponentModel; -namespace NewHorizons.External.Modules.Volumes +namespace NewHorizons.External.Modules.Volumes.VolumeInfos { [JsonObject] public class ChangeStarSystemVolumeInfo : VolumeInfo diff --git a/NewHorizons/External/Modules/Volumes/DestructionVolumeInfo.cs b/NewHorizons/External/Modules/Volumes/VolumeInfos/DestructionVolumeInfo.cs similarity index 85% rename from NewHorizons/External/Modules/Volumes/DestructionVolumeInfo.cs rename to NewHorizons/External/Modules/Volumes/VolumeInfos/DestructionVolumeInfo.cs index eb3cd662..3660a74c 100644 --- a/NewHorizons/External/Modules/Volumes/DestructionVolumeInfo.cs +++ b/NewHorizons/External/Modules/Volumes/VolumeInfos/DestructionVolumeInfo.cs @@ -1,7 +1,7 @@ using Newtonsoft.Json; using System.ComponentModel; -namespace NewHorizons.External.Modules.Volumes +namespace NewHorizons.External.Modules.Volumes.VolumeInfos { [JsonObject] public class DestructionVolumeInfo : VanishVolumeInfo diff --git a/NewHorizons/External/Modules/Volumes/FluidVolumeInfo.cs b/NewHorizons/External/Modules/Volumes/VolumeInfos/FluidVolumeInfo.cs similarity index 94% rename from NewHorizons/External/Modules/Volumes/FluidVolumeInfo.cs rename to NewHorizons/External/Modules/Volumes/VolumeInfos/FluidVolumeInfo.cs index 80e89be0..7d05fa2f 100644 --- a/NewHorizons/External/Modules/Volumes/FluidVolumeInfo.cs +++ b/NewHorizons/External/Modules/Volumes/VolumeInfos/FluidVolumeInfo.cs @@ -2,7 +2,7 @@ using NewHorizons.External.Modules.SerializableEnums; using Newtonsoft.Json; using System.ComponentModel; -namespace NewHorizons.External.Modules.Volumes +namespace NewHorizons.External.Modules.Volumes.VolumeInfos { [JsonObject] public class FluidVolumeInfo : PriorityVolumeInfo diff --git a/NewHorizons/External/Modules/Volumes/HazardVolumeInfo.cs b/NewHorizons/External/Modules/Volumes/VolumeInfos/HazardVolumeInfo.cs similarity index 96% rename from NewHorizons/External/Modules/Volumes/HazardVolumeInfo.cs rename to NewHorizons/External/Modules/Volumes/VolumeInfos/HazardVolumeInfo.cs index c5ffa978..d50a62bb 100644 --- a/NewHorizons/External/Modules/Volumes/HazardVolumeInfo.cs +++ b/NewHorizons/External/Modules/Volumes/VolumeInfos/HazardVolumeInfo.cs @@ -3,7 +3,7 @@ using Newtonsoft.Json.Converters; using System.ComponentModel; using System.Runtime.Serialization; -namespace NewHorizons.External.Modules.Volumes +namespace NewHorizons.External.Modules.Volumes.VolumeInfos { [JsonObject] diff --git a/NewHorizons/External/Modules/Volumes/LoadCreditsVolumeInfo.cs b/NewHorizons/External/Modules/Volumes/VolumeInfos/LoadCreditsVolumeInfo.cs similarity index 84% rename from NewHorizons/External/Modules/Volumes/LoadCreditsVolumeInfo.cs rename to NewHorizons/External/Modules/Volumes/VolumeInfos/LoadCreditsVolumeInfo.cs index 16c5fa64..b8f4874e 100644 --- a/NewHorizons/External/Modules/Volumes/LoadCreditsVolumeInfo.cs +++ b/NewHorizons/External/Modules/Volumes/VolumeInfos/LoadCreditsVolumeInfo.cs @@ -1,7 +1,8 @@ +using NewHorizons.External.Modules.SerializableEnums; using Newtonsoft.Json; using System.ComponentModel; -namespace NewHorizons.External.Modules.Volumes +namespace NewHorizons.External.Modules.Volumes.VolumeInfos { [JsonObject] public class LoadCreditsVolumeInfo : VolumeInfo diff --git a/NewHorizons/External/Modules/Volumes/NotificationVolumeInfo.cs b/NewHorizons/External/Modules/Volumes/VolumeInfos/NotificationVolumeInfo.cs similarity index 95% rename from NewHorizons/External/Modules/Volumes/NotificationVolumeInfo.cs rename to NewHorizons/External/Modules/Volumes/VolumeInfos/NotificationVolumeInfo.cs index ddd83290..5750c913 100644 --- a/NewHorizons/External/Modules/Volumes/NotificationVolumeInfo.cs +++ b/NewHorizons/External/Modules/Volumes/VolumeInfos/NotificationVolumeInfo.cs @@ -3,7 +3,7 @@ using Newtonsoft.Json.Converters; using System.ComponentModel; using System.Runtime.Serialization; -namespace NewHorizons.External.Modules.Volumes +namespace NewHorizons.External.Modules.Volumes.VolumeInfos { [JsonObject] public class NotificationVolumeInfo : VolumeInfo diff --git a/NewHorizons/External/Modules/Volumes/OxygenVolumeInfo.cs b/NewHorizons/External/Modules/Volumes/VolumeInfos/OxygenVolumeInfo.cs similarity index 90% rename from NewHorizons/External/Modules/Volumes/OxygenVolumeInfo.cs rename to NewHorizons/External/Modules/Volumes/VolumeInfos/OxygenVolumeInfo.cs index b69d62a2..1a98ff09 100644 --- a/NewHorizons/External/Modules/Volumes/OxygenVolumeInfo.cs +++ b/NewHorizons/External/Modules/Volumes/VolumeInfos/OxygenVolumeInfo.cs @@ -1,7 +1,7 @@ using Newtonsoft.Json; using System.ComponentModel; -namespace NewHorizons.External.Modules.Volumes +namespace NewHorizons.External.Modules.Volumes.VolumeInfos { [JsonObject] public class OxygenVolumeInfo : VolumeInfo diff --git a/NewHorizons/External/Modules/Volumes/PriorityVolumeInfo.cs b/NewHorizons/External/Modules/Volumes/VolumeInfos/PriorityVolumeInfo.cs similarity index 90% rename from NewHorizons/External/Modules/Volumes/PriorityVolumeInfo.cs rename to NewHorizons/External/Modules/Volumes/VolumeInfos/PriorityVolumeInfo.cs index 8ff41351..574d93dc 100644 --- a/NewHorizons/External/Modules/Volumes/PriorityVolumeInfo.cs +++ b/NewHorizons/External/Modules/Volumes/VolumeInfos/PriorityVolumeInfo.cs @@ -1,7 +1,7 @@ using Newtonsoft.Json; using System.ComponentModel; -namespace NewHorizons.External.Modules.Volumes +namespace NewHorizons.External.Modules.Volumes.VolumeInfos { [JsonObject] public class PriorityVolumeInfo : VolumeInfo diff --git a/NewHorizons/External/Modules/Volumes/RevealVolumeInfo.cs b/NewHorizons/External/Modules/Volumes/VolumeInfos/RevealVolumeInfo.cs similarity index 96% rename from NewHorizons/External/Modules/Volumes/RevealVolumeInfo.cs rename to NewHorizons/External/Modules/Volumes/VolumeInfos/RevealVolumeInfo.cs index fb73686b..2f577918 100644 --- a/NewHorizons/External/Modules/Volumes/RevealVolumeInfo.cs +++ b/NewHorizons/External/Modules/Volumes/VolumeInfos/RevealVolumeInfo.cs @@ -3,7 +3,7 @@ using Newtonsoft.Json.Converters; using System.ComponentModel; using System.Runtime.Serialization; -namespace NewHorizons.External.Modules.Volumes +namespace NewHorizons.External.Modules.Volumes.VolumeInfos { [JsonObject] public class RevealVolumeInfo : VolumeInfo diff --git a/NewHorizons/External/Modules/Volumes/VolumeInfos/SpeedTrapVolumeInfo.cs b/NewHorizons/External/Modules/Volumes/VolumeInfos/SpeedTrapVolumeInfo.cs new file mode 100644 index 00000000..12c05c6d --- /dev/null +++ b/NewHorizons/External/Modules/Volumes/VolumeInfos/SpeedTrapVolumeInfo.cs @@ -0,0 +1,21 @@ +using Newtonsoft.Json; +using System.ComponentModel; + +namespace NewHorizons.External.Modules.Volumes.VolumeInfos +{ + [JsonObject] + public class SpeedTrapVolumeInfo : VolumeInfo + { + /// + /// The speed the volume will slow you down to when you enter it. + /// + [DefaultValue(10f)] + public float speedLimit = 10f; + + /// + /// How fast it will slow down the player to the speed limit. + /// + [DefaultValue(3f)] + public float acceleration = 3f; + } +} diff --git a/NewHorizons/External/Modules/Volumes/VanishVolumeInfo.cs b/NewHorizons/External/Modules/Volumes/VolumeInfos/VanishVolumeInfo.cs similarity index 89% rename from NewHorizons/External/Modules/Volumes/VanishVolumeInfo.cs rename to NewHorizons/External/Modules/Volumes/VolumeInfos/VanishVolumeInfo.cs index 83104719..0cab17e6 100644 --- a/NewHorizons/External/Modules/Volumes/VanishVolumeInfo.cs +++ b/NewHorizons/External/Modules/Volumes/VolumeInfos/VanishVolumeInfo.cs @@ -1,7 +1,7 @@ using Newtonsoft.Json; using System.ComponentModel; -namespace NewHorizons.External.Modules.Volumes +namespace NewHorizons.External.Modules.Volumes.VolumeInfos { [JsonObject] public class VanishVolumeInfo : VolumeInfo diff --git a/NewHorizons/External/Modules/Volumes/VolumeInfos/VolumeInfo.cs b/NewHorizons/External/Modules/Volumes/VolumeInfos/VolumeInfo.cs new file mode 100644 index 00000000..8016c7d3 --- /dev/null +++ b/NewHorizons/External/Modules/Volumes/VolumeInfos/VolumeInfo.cs @@ -0,0 +1,18 @@ +using NewHorizons.External.Modules.Audio; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; + +namespace NewHorizons.External.Modules.Volumes.VolumeInfos +{ + [JsonObject] + public class VolumeInfo : GeneralPointPropInfo + { + /// + /// The radius of this volume. + /// + [DefaultValue(1f)] public float radius = 1f; + } +} diff --git a/NewHorizons/External/Modules/Volumes/VolumesModule.cs b/NewHorizons/External/Modules/Volumes/VolumesModule.cs index 67d255a4..9d5a9163 100644 --- a/NewHorizons/External/Modules/Volumes/VolumesModule.cs +++ b/NewHorizons/External/Modules/Volumes/VolumesModule.cs @@ -1,3 +1,4 @@ +using NewHorizons.External.Modules.Volumes.VolumeInfos; using Newtonsoft.Json; namespace NewHorizons.External.Modules.Volumes