From 2bb3c4e813bad3dd475008ce87b3b7846b7107a8 Mon Sep 17 00:00:00 2001 From: Nick Date: Wed, 13 Jul 2022 21:43:15 -0400 Subject: [PATCH] Signals are in props now --- .../Builder/Props/BrambleNodeBuilder.cs | 4 ++-- NewHorizons/Builder/Props/PropBuildManager.cs | 7 +++++++ NewHorizons/Builder/Props/SignalBuilder.cs | 8 -------- NewHorizons/External/Configs/PlanetConfig.cs | 18 +++++++++++------- NewHorizons/External/Modules/PropModule.cs | 5 +++++ NewHorizons/Handlers/PlanetCreationHandler.cs | 5 ----- 6 files changed, 25 insertions(+), 22 deletions(-) diff --git a/NewHorizons/Builder/Props/BrambleNodeBuilder.cs b/NewHorizons/Builder/Props/BrambleNodeBuilder.cs index e2392cac..9b6e733a 100644 --- a/NewHorizons/Builder/Props/BrambleNodeBuilder.cs +++ b/NewHorizons/Builder/Props/BrambleNodeBuilder.cs @@ -138,12 +138,12 @@ namespace NewHorizons.Builder.Props foreach (var destinationDimension in allDimensions) { - if (destinationDimension.Signal?.signals == null) continue; + if (destinationDimension.Props?.signals == null) continue; var destinationIndex = dimensionNameToIndex[destinationDimension.name]; if (access[dimensionIndex, destinationIndex]) { - _propogatedSignals[dimension.name].AddRange(destinationDimension.Signal.signals); + _propogatedSignals[dimension.name].AddRange(destinationDimension.Props.signals); } } } diff --git a/NewHorizons/Builder/Props/PropBuildManager.cs b/NewHorizons/Builder/Props/PropBuildManager.cs index 7aef39af..ef81b668 100644 --- a/NewHorizons/Builder/Props/PropBuildManager.cs +++ b/NewHorizons/Builder/Props/PropBuildManager.cs @@ -212,6 +212,13 @@ namespace NewHorizons.Builder.Props { AudioVolumeBuilder.Make(go, sector, audioVolume, mod); } + } + if (config.Props.signals != null) + { + foreach (var signal in config.Props.signals) + { + SignalBuilder.Make(go, sector, signal, mod); + } } } } diff --git a/NewHorizons/Builder/Props/SignalBuilder.cs b/NewHorizons/Builder/Props/SignalBuilder.cs index 297093ae..4ccb7311 100644 --- a/NewHorizons/Builder/Props/SignalBuilder.cs +++ b/NewHorizons/Builder/Props/SignalBuilder.cs @@ -125,14 +125,6 @@ namespace NewHorizons.Builder.Props return name; } - public static void Make(GameObject body, Sector sector, SignalModule module, IModBehaviour mod) - { - foreach (var info in module.signals) - { - Make(body, sector, info, mod); - } - } - public static GameObject Make(GameObject planetGO, Sector sector, SignalModule.SignalInfo info, IModBehaviour mod) { var signalGO = new GameObject($"Signal_{info.name}"); diff --git a/NewHorizons/External/Configs/PlanetConfig.cs b/NewHorizons/External/Configs/PlanetConfig.cs index 12e9425d..94e8071e 100644 --- a/NewHorizons/External/Configs/PlanetConfig.cs +++ b/NewHorizons/External/Configs/PlanetConfig.cs @@ -55,6 +55,8 @@ namespace NewHorizons.External.Configs [Obsolete("Singularity is deprecated, please use Props->singularities")] public SingularityModule Singularity; + [Obsolete("Signal is deprecated, please use Props->signals")] + public SignalModule Signal; #endregion Obsolete /// @@ -138,11 +140,6 @@ namespace NewHorizons.External.Configs /// public ShipLogModule ShipLog; - /// - /// Add signals that can be heard via the signal-scope to this planet - /// - public SignalModule Signal; - /// /// Spawn the player at this planet /// @@ -342,10 +339,17 @@ namespace NewHorizons.External.Configs Props.singularities = Props.singularities.Append(Singularity).ToArray(); } - // Signal + // Signals are now in props if (Signal?.signals != null) { - foreach (var signal in Signal.signals) + if (Props == null) Props = new PropModule(); + if (Props.signals == null) Props.signals = new SignalModule.SignalInfo[0]; + Props.signals = Props.signals.Concat(Signal.signals).ToArray(); + } + // Signals no longer use two differen variables for audio + if (Props?.signals != null) + { + foreach (var signal in Props.signals) { if (!string.IsNullOrEmpty(signal.audioClip)) signal.audio = signal.audioClip; if (!string.IsNullOrEmpty(signal.audioFilePath)) signal.audio = signal.audioFilePath; diff --git a/NewHorizons/External/Modules/PropModule.cs b/NewHorizons/External/Modules/PropModule.cs index 4655821b..afc24cb2 100644 --- a/NewHorizons/External/Modules/PropModule.cs +++ b/NewHorizons/External/Modules/PropModule.cs @@ -88,6 +88,11 @@ namespace NewHorizons.External.Modules /// public AudioVolumeInfo[] audioVolumes; + /// + /// Add signalscope signals to this planet + /// + public SignalModule.SignalInfo[] signals; + [JsonObject] public class ScatterInfo { diff --git a/NewHorizons/Handlers/PlanetCreationHandler.cs b/NewHorizons/Handlers/PlanetCreationHandler.cs index 8e0f33f9..00f5ced8 100644 --- a/NewHorizons/Handlers/PlanetCreationHandler.cs +++ b/NewHorizons/Handlers/PlanetCreationHandler.cs @@ -558,11 +558,6 @@ namespace NewHorizons.Handlers PropBuildManager.Make(go, sector, rb, body.Config, body.Mod); } - if (body.Config.Signal != null) - { - SignalBuilder.Make(go, sector, body.Config.Signal, body.Mod); - } - if (body.Config.Funnel != null) { FunnelBuilder.Make(go, go.GetComponentInChildren(), rb, body.Config.Funnel);