using SLSFramework.General; using SLSFramework.UModAssistance; using UnityEngine; namespace Continentis.MainGame { public partial class AudioManager : Singleton { public AudioSource musicAudioSource; public static AudioClip GetAudio(string audioID) { return ModManager.GetAsset(audioID); } } public partial class AudioManager { public static void PlayBGM(string bgmID) { AudioClip audioClip = GetAudio(bgmID); if (audioClip != null) { Instance.musicAudioSource.clip = audioClip; Instance.musicAudioSource.Play(); } else { Debug.LogWarning($"AudioManager: AudioClip with ID '{bgmID}' not found."); } } public static void PlayBGM(AudioClip bgmClip) { Instance.musicAudioSource.clip = bgmClip; Instance.musicAudioSource.Play(); } public static void ResumeBGM() { Instance.musicAudioSource.UnPause(); } public static void PauseBGM() { Instance.musicAudioSource.Pause(); } public static void StopBGM() { Instance.musicAudioSource.Stop(); } } public partial class AudioManager { public static void PlaySFX(string audioID, Vector3 position, float volume = 1f) { AudioClip clip = GetAudio(audioID); if (clip != null) { AudioSource.PlayClipAtPoint(clip, position, volume); } else { Debug.LogWarning($"AudioManager: AudioClip with ID '{audioID}' not found."); } } public static void PlaySFX(AudioClip sfxClip, Vector3 position, float volume = 1f) { AudioSource.PlayClipAtPoint(sfxClip, position, volume); } } }