mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
AudioUtilities method to set audio from AudioType, existing AudioClip, or file
This commit is contained in:
parent
4a01e93ac6
commit
2a3ffcc268
@ -1,4 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using OWML.Common;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
@ -9,6 +11,34 @@ namespace NewHorizons.Utility
|
||||
{
|
||||
private static Dictionary<string, AudioClip> _loadedAudioClips = new Dictionary<string, AudioClip>();
|
||||
|
||||
public static void SetAudioClip(OWAudioSource source, string audio, IModBehaviour mod)
|
||||
{
|
||||
if (audio.Contains(".wav") || audio.Contains(".ogg"))
|
||||
{
|
||||
try
|
||||
{
|
||||
var clip = LoadAudio(mod.ModHelper.Manifest.ModFolderPath + "/" + audio);
|
||||
source.clip = clip;
|
||||
}
|
||||
catch
|
||||
{
|
||||
Logger.LogError($"Could not load file {audio}");
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var audioType = (AudioType)Enum.Parse(typeof(AudioType), audio);
|
||||
source._audioLibraryClip = audioType;
|
||||
}
|
||||
catch
|
||||
{
|
||||
var audioClip = SearchUtilities.FindResourceOfTypeAndName<AudioClip>(audio);
|
||||
if (audioClip == null) Logger.Log($"Couldn't find audio clip {audio}");
|
||||
else source.clip = audioClip;
|
||||
}
|
||||
}
|
||||
|
||||
public static AudioClip LoadAudio(string path)
|
||||
{
|
||||
if (_loadedAudioClips.ContainsKey(path))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user