new-horizons/NewHorizons/Builder/Volumes/DayNightAudioVolumeBuilder.cs
2023-07-19 23:22:38 -04:00

37 lines
1.2 KiB
C#

using NewHorizons.Builder.Props;
using NewHorizons.Components.Volumes;
using NewHorizons.External.Modules.Volumes.VolumeInfos;
using NewHorizons.Utility.OuterWilds;
using OWML.Common;
using UnityEngine;
namespace NewHorizons.Builder.Volumes
{
public static class DayNightAudioVolumeBuilder
{
public static NHDayNightAudioVolume Make(GameObject planetGO, Sector sector, DayNightAudioVolumeInfo info, IModBehaviour mod)
{
var go = GeneralPropBuilder.MakeNew("DayNightAudioVolume", planetGO, sector, info);
go.layer = Layer.AdvancedEffectVolume;
var audioVolume = go.AddComponent<NHDayNightAudioVolume>();
audioVolume.sunName = info.sun;
audioVolume.dayWindow = info.dayWindow;
audioVolume.dayAudio = info.dayAudio;
audioVolume.nightAudio = info.nightAudio;
audioVolume.modBehaviour = mod;
audioVolume.volume = info.volume;
var shape = go.AddComponent<SphereShape>();
shape.radius = info.radius;
var owTriggerVolume = go.AddComponent<OWTriggerVolume>();
owTriggerVolume._shape = shape;
go.SetActive(true);
return audioVolume;
}
}
}