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); }
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 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); } }