diff --git a/NewHorizons/Builder/Volumes/AudioVolumeBuilder.cs b/NewHorizons/Builder/Volumes/AudioVolumeBuilder.cs index 94af4dfa..d1848564 100644 --- a/NewHorizons/Builder/Volumes/AudioVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/AudioVolumeBuilder.cs @@ -52,6 +52,12 @@ namespace NewHorizons.Builder.Volumes AudioUtilities.SetAudioClip(owAudioSource, info.audio, mod); var audioVolume = go.AddComponent(); + audioVolume._layer = info.layer; + audioVolume.SetPriority(info.priority); + audioVolume._fadeSeconds = info.fadeSeconds; + audioVolume._noFadeFromBeginning = info.noFadeFromBeginning; + audioVolume._randomizePlayhead = info.randomizePlayhead; + audioVolume._pauseOnFadeOut = info.pauseOnFadeOut; var shape = go.AddComponent(); shape.radius = info.radius; diff --git a/NewHorizons/External/Modules/VolumesModule.cs b/NewHorizons/External/Modules/VolumesModule.cs index 3c2f898b..943bd27c 100644 --- a/NewHorizons/External/Modules/VolumesModule.cs +++ b/NewHorizons/External/Modules/VolumesModule.cs @@ -180,7 +180,7 @@ namespace NewHorizons.External.Modules } [JsonObject] - public class AudioVolumeInfo : VolumeInfo + public class AudioVolumeInfo : PriorityVolumeInfo { /// /// The audio to use. Can be a path to a .wav/.ogg/.mp3 file, or taken from the AudioClip list. @@ -203,6 +203,27 @@ namespace NewHorizons.External.Modules [Range(0f, 1f)] [DefaultValue(1f)] public float volume = 1f; + + /// + /// How long it will take to fade this sound in and out when entering/exiting this volume. + /// + [DefaultValue(2f)] + public float fadeSeconds = 2f; + + /// + /// Play the sound instantly without any fading. + /// + public bool noFadeFromBeginning; + + /// + /// Randomize what time the audio starts at. + /// + public bool randomizePlayhead; + + /// + /// Pause the music when exiting the volume. + /// + public bool pauseOnFadeOut; } [JsonObject]