public int PlaySoundSingleton(string name, bool replace) { if (m_SingletonSoundMap.ContainsKey(name)) { if (replace) { m_SingletonSoundMap[name].Stop(); m_SingletonSoundMap.Remove(name); } else { return(-1); } } int id = PlaySound(name, false); if (id < 0) { return(id); } AudioUnit unit = AudioUnit.GetAudioUnitByID(id); unit.SetOnStopListener(OnSingleAudioFinish); m_SingletonSoundMap.Add(name, unit); return(unit.id); }
private static void UnRegisterActiveAudioUnit(AudioUnit unit) { if (s_AudioUnitMap.ContainsKey(unit.id)) { s_AudioUnitMap.Remove(unit.id); } unit.id = -1; }
public override void OnSingletonInit() { m_IsSoundEnable = PlayerPrefs.GetInt(SOUND_STATE_RECORD_KEY, 1) > 0; m_IsMusicEnable = PlayerPrefs.GetInt(MUSIC_STATE_RECORD_KEY, 1) > 0; ObjectPool <AudioUnit> .S.Init(m_MaxCacheSoundCount, 1); m_MainUnit = AudioUnit.Allocate(); m_MainUnit.usedCache = false; }
public bool SetPitch(int id, float pitch) { AudioUnit unit = AudioUnit.GetAudioUnitByID(id); if (unit == null) { return(false); } unit.SetPitch(pitch); return(true); }
public bool SetVolume(int id, float volume) { AudioUnit unit = AudioUnit.GetAudioUnitByID(id); if (unit == null) { return(false); } unit.SetVolume(volume); return(true); }
public bool Stop(int id) { AudioUnit unit = AudioUnit.GetAudioUnitByID(id); if (unit == null) { return(false); } unit.Stop(); return(true); }
private void OnSingleAudioFinish(int id) { AudioUnit unit = AudioUnit.GetAudioUnitByID(id); if (unit == null) { return; } if (m_SingletonSoundMap.ContainsKey(unit.audioName)) { m_SingletonSoundMap.Remove(unit.audioName); } }
public int PlaySound(string name, bool loop = false, Action <int> callBack = null) { if (string.IsNullOrEmpty(name)) { return(-1); } AudioUnit unit = AudioUnit.Allocate(); if (unit == null) { return(-1); } unit.SetAudio(gameObject, name, loop, m_IsSoundEnable); unit.SetOnFinishListener(callBack); return(unit.id); }
public int PlaySoundShot(string name) { if (m_SingletonSoundMap.ContainsKey(name)) { var unit = m_SingletonSoundMap[name]; unit.PlayShot(); return(unit.id); } else { int id = PlaySound(name, false); if (id < 0) { return(id); } AudioUnit unit = AudioUnit.GetAudioUnitByID(id); unit.SetOnStopListener(OnSingleAudioFinish); m_SingletonSoundMap.Add(name, unit); return(unit.id); } }
public static AudioUnit Allocate() { AudioUnit unit = ObjectPool <AudioUnit> .S.Allocate(); return(unit); }
private static void RegisterActiveAudioUnit(AudioUnit unit) { unit.id = ++s_NextID; s_AudioUnitMap.Add(unit.id, unit); }