From 3f6b6fab99e55f7b8b4bd1dba94f013231cf7474 Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Wed, 31 Aug 2022 16:15:16 -0400 Subject: [PATCH] Add reverb volumes. --- NewHorizons/Builder/Volumes/VolumeBuilder.cs | 2 +- NewHorizons/Builder/Volumes/VolumesBuildManager.cs | 7 +++++++ NewHorizons/External/Modules/VolumesModule.cs | 5 +++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/NewHorizons/Builder/Volumes/VolumeBuilder.cs b/NewHorizons/Builder/Volumes/VolumeBuilder.cs index c8fc563f..0cf3ebe8 100644 --- a/NewHorizons/Builder/Volumes/VolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/VolumeBuilder.cs @@ -6,7 +6,7 @@ namespace NewHorizons.Builder.Volumes { public static class VolumeBuilder { - public static TVolume Make(GameObject planetGO, Sector sector, VolumesModule.VolumeInfo info) where TVolume : BaseVolume + public static TVolume Make(GameObject planetGO, Sector sector, VolumesModule.VolumeInfo info) where TVolume : MonoBehaviour { var go = new GameObject(typeof(TVolume).Name); go.SetActive(false); diff --git a/NewHorizons/Builder/Volumes/VolumesBuildManager.cs b/NewHorizons/Builder/Volumes/VolumesBuildManager.cs index bc88df33..c5ec9d90 100644 --- a/NewHorizons/Builder/Volumes/VolumesBuildManager.cs +++ b/NewHorizons/Builder/Volumes/VolumesBuildManager.cs @@ -64,6 +64,13 @@ namespace NewHorizons.Builder.Volumes VolumeBuilder.Make(go, sector, interferenceVolume); } } + if (config.Volumes.reverbVolumes != null) + { + foreach (var reverbVolume in config.Volumes.reverbVolumes) + { + VolumeBuilder.Make(go, sector, reverbVolume); + } + } } } } diff --git a/NewHorizons/External/Modules/VolumesModule.cs b/NewHorizons/External/Modules/VolumesModule.cs index 7bbf651c..bbd3b798 100644 --- a/NewHorizons/External/Modules/VolumesModule.cs +++ b/NewHorizons/External/Modules/VolumesModule.cs @@ -44,6 +44,11 @@ namespace NewHorizons.External.Modules /// public RevealVolumeInfo[] revealVolumes; + /// + /// Add reverb volumes to this planet. Great for echoes in caves. + /// + public VolumeInfo[] reverbVolumes; + [JsonObject] public class VolumeInfo {