diff --git a/NewHorizons/Builder/Volumes/AudioVolumeBuilder.cs b/NewHorizons/Builder/Volumes/AudioVolumeBuilder.cs index d1848564..6f10baf4 100644 --- a/NewHorizons/Builder/Volumes/AudioVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/AudioVolumeBuilder.cs @@ -48,6 +48,7 @@ namespace NewHorizons.Builder.Volumes owAudioSource._audioSource = audioSource; owAudioSource.loop = info.loop; owAudioSource.SetMaxVolume(info.volume); + owAudioSource.SetClipSelectionType(EnumUtils.Parse(info.clipSelection.ToString())); owAudioSource.SetTrack(EnumUtils.Parse(info.track.ToString())); AudioUtilities.SetAudioClip(owAudioSource, info.audio, mod); diff --git a/NewHorizons/External/Modules/VolumesModule.cs b/NewHorizons/External/Modules/VolumesModule.cs index 943bd27c..b2e132db 100644 --- a/NewHorizons/External/Modules/VolumesModule.cs +++ b/NewHorizons/External/Modules/VolumesModule.cs @@ -187,6 +187,8 @@ namespace NewHorizons.External.Modules /// public string audio; + [DefaultValue("random")] public ClipSelectionType clipSelection = ClipSelectionType.RANDOM; + /// /// The audio track of this audio volume /// @@ -426,6 +428,14 @@ namespace NewHorizons.External.Modules } } + [JsonConverter(typeof(StringEnumConverter))] + public enum ClipSelectionType + { + [EnumMember(Value = @"random")] RANDOM, + [EnumMember(Value = @"sequential")] SEQUENTIAL, + [EnumMember(Value = @"manual")] MANUAL + } + [JsonConverter(typeof(StringEnumConverter))] public enum AudioMixerTrackName {