using System; using System.Collections.Generic; using CIGEnums; using SUISSEngine; using UnityEngine; public sealed class CIGAudioManager : AudioManager { public void PlayClip(Clip clip) { this.PlayClip(clip, 1f); } public void PlayClip(Clip clip, bool playOneAtATime) { this.PlayClip(clip, 1f, playOneAtATime); } public void PlayClip(Clip clip, float volumeScale) { this.PlayClip(clip, volumeScale, false); } public void PlayClip(Clip clip, float volumeScale, bool playOneAtATime) { CIGAudioManager.AudioClipSettings audioClipSettings = this._audioClips.Find((CIGAudioManager.AudioClipSettings x) => x.Clip == clip); if (audioClipSettings == null) { UnityEngine.Debug.LogWarningFormat("Missing AudioClipSettings for {0}", new object[] { clip }); return; } base.PlayClip(audioClipSettings.AudioClip, volumeScale, playOneAtATime); } public void SetMusic(AudioClip music) { if (this._audioSource.clip != music) { this._audioSource.clip = music; } if (!this._audioSource.isPlaying && Singleton.Instance.MusicEnabled) { this._audioSource.loop = true; this._audioSource.Play(); } } [SerializeField] private List _audioClips; [Serializable] private class AudioClipSettings { public Clip Clip { get { return this._clip; } } public AudioClip AudioClip { get { return this._audioClip; } } [SerializeField] private Clip _clip; [SerializeField] private AudioClip _audioClip; } }