private static Audio GetAudio(Audio.AudioType audioType, bool usePool, AudioClip audioClip) { Dictionary <int, Audio> audioDict = GetAudioTypeDictionary(audioType); List <int> audioTypeKeys = new List <int>(audioDict.Keys); List <int> poolKeys = new List <int>(audioPool.Keys); List <int> keys = usePool ? audioTypeKeys.Concat(poolKeys).ToList() : audioTypeKeys; foreach (int key in keys) { Audio audio = null; if (audioDict.ContainsKey(key)) { audio = audioDict[key]; } else if (audioPool.ContainsKey(key)) { audio = audioPool[key]; } if (audio == null) { return(null); } if (audio.Clip == audioClip && audio.Type == audioType) { return(audio); } } return(null); }
private static int PrepareAudio(Audio.AudioType audioType, AudioClip clip, float volume, bool loop, bool persist, float fadeInSeconds, float fadeOutSeconds, float currentMusicfadeOutSeconds, Transform sourceTransform) { if (clip == null) { Debug.LogError("[Eazy Sound Manager] Audio clip is null", clip); } Dictionary <int, Audio> audioDict = GetAudioTypeDictionary(audioType); bool ignoreDuplicateAudio = GetAudioTypeIgnoreDuplicateSetting(audioType); if (ignoreDuplicateAudio) { Audio duplicateAudio = GetAudio(audioType, true, clip); if (duplicateAudio != null) { return(duplicateAudio.AudioID); } } // Create the audioSource Audio audio = new Audio(audioType, clip, loop, persist, volume, fadeInSeconds, fadeOutSeconds, sourceTransform); // Add it to dictionary audioDict.Add(audio.AudioID, audio); return(audio.AudioID); }
public void SetVolumeScale(Audio.AudioType audioType, float value) { foreach (Audio a in _audios) { if (a.audioType == audioType) { a.SetVolumeScale(value); } } }
public void ChangeVolume(Audio.AudioType type, float value) { foreach (var audio in AudioArray) { if (audio.m_AudioType == type) { audio.SetVolume(value); } } }
public void PlayAllOfType(Audio.AudioType audioType) { // checks all audios in audios array foreach (Audio a in _audios) { // if audio type matches play it if (a.audioType == audioType) { a.Play(); } } }
public void StopAllOfType(Audio.AudioType audioType) { // checks all audios in audios array foreach (Audio a in _audios) { // if audio type matches stop it if (a.audioType == audioType) { a.Stop(); } } }
public void ToggleAllOfType(Audio.AudioType audioType) { // checks all audios in audios array foreach (Audio a in _audios) { // if audio type matches pause/unpause it if (a.audioType == audioType) { a.TogglePause(); } } }
private static void ResumeAllAudio(Audio.AudioType audioType) { Dictionary <int, Audio> audioDict = GetAudioTypeDictionary(audioType); List <int> keys = new List <int>(audioDict.Keys); foreach (int key in keys) { Audio audio = audioDict[key]; audio.Resume(); } }
/// <summary> /// Restores and re-adds a pooled audio to its corresponding audio dictionary /// </summary> /// <param name="audioType">The audio type of the audio to restore</param> /// <param name="audioID">The ID of the audio to be restored</param> /// <returns>True if the audio is restored, false if the audio was not in the audio pool.</returns> public static bool RestoreAudioFromPool(Audio.AudioType audioType, int audioID) { if (audioPool.ContainsKey(audioID)) { Dictionary <int, Audio> audioDict = GetAudioTypeDictionary(audioType); audioDict.Add(audioID, audioPool[audioID]); audioPool.Remove(audioID); return(true); } return(false); }
public AudioProperties(Audio.AudioType audioType, AudioClip clip, float volume = 1f, bool loop = false, bool persist = false, bool keep = false, float fadeInSeconds = 0f, float fadeOutSeconds = 0f, Transform sourceTransform = null) { this.audioType = audioType; this.clip = clip; this.volume = volume; this.loop = loop; this.persist = persist; this.keep = keep; this.fadeInSeconds = fadeInSeconds; this.fadeOutSeconds = fadeOutSeconds; this.sourceTransform = sourceTransform; }
private static int PlayAudio(Audio.AudioType audioType, AudioClip clip, float volume, bool loop, bool persist, float fadeInSeconds, float fadeOutSeconds, float currentMusicfadeOutSeconds, Transform sourceTransform) { int audioID = PrepareAudio(audioType, clip, volume, loop, persist, fadeInSeconds, fadeOutSeconds, currentMusicfadeOutSeconds, sourceTransform); // Stop all current music playing if (audioType == Audio.AudioType.Music) { StopAllMusic(currentMusicfadeOutSeconds); } GetAudio(audioType, false, audioID).Play(); return(audioID); }
private static void StopAllAudio(Audio.AudioType audioType, float fadeOutSeconds) { Dictionary <int, Audio> audioDict = GetAudioTypeDictionary(audioType); List <int> keys = new List <int>(audioDict.Keys); foreach (int key in keys) { Audio audio = audioDict[key]; if (fadeOutSeconds > 0) { audio.FadeOutSeconds = fadeOutSeconds; } audio.Stop(); } }
private static Audio GetAudio(Audio.AudioType audioType, bool usePool, int audioID) { Dictionary <int, Audio> audioDict = GetAudioTypeDictionary(audioType); if (audioDict.ContainsKey(audioID)) { return(audioDict[audioID]); } if (usePool && audioPool.ContainsKey(audioID) && audioPool[audioID].Type == audioType) { return(audioPool[audioID]); } return(null); }
/// <summary> /// Retrieves the IgnoreDuplicates setting of audios of a specified audio type /// </summary> /// <param name="audioType">The audio type that the returned IgnoreDuplicates setting affects</param> /// <returns>An IgnoreDuplicates setting (bool)</returns> private static bool GetAudioTypeIgnoreDuplicateSetting(Audio.AudioType audioType) { switch (audioType) { case Audio.AudioType.Music: return(IgnoreDuplicateMusic); case Audio.AudioType.Sound: return(IgnoreDuplicateSounds); case Audio.AudioType.UISound: return(IgnoreDuplicateUISounds); default: return(false); } }
/// <summary> /// Pause target type audio /// </summary> /// <param name="audioType"></param> private void PauseAudioInternal(Audio.AudioType audioType) { switch (audioType) { case Audio.AudioType.Music: PauseAllMusic(); break; case Audio.AudioType.UISound: PauseAllUISounds(); break; case Audio.AudioType.Sound: PauseAllSounds(); break; } }
/// <summary> /// PlayAudio With Callback /// </summary> /// <param name="audioType"></param> /// <param name="audioName"></param> /// <param name="GetAudioCallback"></param> private void PlayAudioInternal(Audio.AudioType audioType, string audioName, Action <Audio> GetAudioCallback) { if (!audioName.EndsWithFast(".mp3")) { audioName = EngineCoreEvents.AudioEvents.FetchAudioPathByKey(audioName); } if (string.IsNullOrEmpty(audioName)) { Debug.LogError($"can't find key :{audioName} audio"); GetAudioCallback?.Invoke(null); } GetAudioClip(audioName, (audioClip) => { if (audioClip == null) { Debug.LogError($"audio {audioName} is null"); } Audio playAudio = null; switch (audioType) { case Audio.AudioType.Music: playAudio = GetAudio(PlayMusic(audioClip)); playAudio.Loop = true; break; case Audio.AudioType.UISound: playAudio = GetAudio(PlayUISound(audioClip)); break; case Audio.AudioType.Sound: playAudio = GetAudio(PlaySound(audioClip)); break; default: break; } GetAudioCallback?.Invoke(playAudio); }); }
// Token: 0x06010431 RID: 66609 RVA: 0x0058F964 File Offset: 0x0058DB64 public Audio(Audio.AudioType MJNLBJIKABL, AudioClip BKGCLBJFADE, bool AIPGGFGKNFE, bool HHBOIFFNPPL, float BDICHAELIJE, float DKNMPJDJNAE, float BCOIOGINLKJ, Transform OKDDLALOEME) { this.OKDDLALOEME = ((!(OKDDLALOEME != null)) ? Singleton <SoundManager> .Instance.gameObject.transform : OKDDLALOEME); this.audioID = Audio.BCIGGJPJBOK; Audio.BCIGGJPJBOK++; this.MJNLBJIKABL = MJNLBJIKABL; this.JPIBNPJDMFM = BKGCLBJFADE; this.loop = AIPGGFGKNFE; this.persist = HHBOIFFNPPL; this.OFPKJBHHLGK = BDICHAELIJE; this.EHBJNJAFFHP = BDICHAELIJE; this.JGLODIINJAF = -1f; this.BDICHAELIJE = BDICHAELIJE; this.fadeInSeconds = DKNMPJDJNAE; this.fadeOutSeconds = BCOIOGINLKJ; this.playing = false; this.paused = false; this.activated = false; this.JPFMCDJKGLK(BKGCLBJFADE, AIPGGFGKNFE); this.Play(); }
/// <summary> /// Retrieves the audio dictionary based on the audioType /// </summary> /// <param name="audioType">The audio type of the dictionary to return</param> /// <returns>An audio dictionary</returns> private static Dictionary <int, Audio> GetAudioTypeDictionary(Audio.AudioType audioType) { Dictionary <int, Audio> audioDict = new Dictionary <int, Audio>(); switch (audioType) { case Audio.AudioType.Music: audioDict = musicAudio; break; case Audio.AudioType.Sound: audioDict = soundsAudio; break; case Audio.AudioType.UISound: audioDict = UISoundsAudio; break; } return(audioDict); }
// Token: 0x0601043C RID: 66620 RVA: 0x0058FACC File Offset: 0x0058DCCC public void KMKLDAJLCNM() { if (this.audioSource == null) { return; } this.PGMMABIHOKK(false); if (this.BDICHAELIJE != this.OFPKJBHHLGK) { this.BDICHAELIJE = this.OFPKJBHHLGK; } else if (this.JGLODIINJAF != 188f) { this.JGLODIINJAF = 1166f; } Audio.AudioType mjnlbjikabl = this.MJNLBJIKABL; if (mjnlbjikabl != Audio.AudioType.Music) { if (mjnlbjikabl == Audio.AudioType.Sound) { this.LCIMPPPDCPA().volume = this.BDICHAELIJE; } } else { this.audioSource.volume = this.BDICHAELIJE; } if (this.BDICHAELIJE == 1120f && this.stopping) { this.LCIMPPPDCPA().Stop(); this.stopping = false; this.playing = false; this.CHIEHBKODBI(true); } if (this.LCIMPPPDCPA().isPlaying != this.LBDDCEHHIPC()) { this.playing = this.LCIMPPPDCPA().isPlaying; } }
// Token: 0x06010422 RID: 66594 RVA: 0x0058F7E4 File Offset: 0x0058D9E4 public void Update() { if (this.audioSource == null) { return; } this.activated = true; if (this.BDICHAELIJE != this.OFPKJBHHLGK) { this.BDICHAELIJE = this.OFPKJBHHLGK; } else if (this.JGLODIINJAF != -1f) { this.JGLODIINJAF = -1f; } Audio.AudioType mjnlbjikabl = this.MJNLBJIKABL; if (mjnlbjikabl != Audio.AudioType.Music) { if (mjnlbjikabl == Audio.AudioType.Sound) { this.audioSource.volume = this.BDICHAELIJE; } } else { this.audioSource.volume = this.BDICHAELIJE; } if (this.BDICHAELIJE == 0f && this.stopping) { this.audioSource.Stop(); this.stopping = false; this.playing = false; this.paused = false; } if (this.audioSource.isPlaying != this.playing) { this.playing = this.audioSource.isPlaying; } }
// Token: 0x06010417 RID: 66583 RVA: 0x0058F614 File Offset: 0x0058D814 public void LLJLDLLNFBH() { if (this.audioSource == null) { return; } this.activated = false; if (this.BDICHAELIJE != this.OFPKJBHHLGK) { this.BDICHAELIJE = this.OFPKJBHHLGK; } else if (this.JGLODIINJAF != 1280f) { this.JGLODIINJAF = 691f; } Audio.AudioType mjnlbjikabl = this.MJNLBJIKABL; if (mjnlbjikabl != Audio.AudioType.Music) { if (mjnlbjikabl == Audio.AudioType.Sound) { this.audioSource.volume = this.BDICHAELIJE; } } else { this.audioSource.volume = this.BDICHAELIJE; } if (this.BDICHAELIJE == 373f && this.stopping) { this.LCIMPPPDCPA().Stop(); this.stopping = true; this.playing = true; this.CHIEHBKODBI(true); } if (this.audioSource.isPlaying != this.playing) { this.playing = this.LCIMPPPDCPA().isPlaying; } }
/// <summary> /// Play Audio Center /// </summary> /// <param name="audioType"></param> /// <param name="audioName"></param> private void PlayAudioInternal(Audio.AudioType audioType, string audioName) { PlayAudioInternal(audioType, audioName, null); }