/// <summary> /// Stops the specified audio trigger. Only audio triggers that have been "played" can be stopped. /// </summary> /// <param name="triggerId"></param> /// <returns>True if the audio trigger is stopped</returns> public static bool Stop(AudioTriggerId triggerId) { if (triggerId.IsValid) { NativeAudioSystem.StopTrigger(triggerId._id); return(true); } return(false); }
/// <summary> /// Stops the audio trigger by the specified name. Only audio triggers that have been "played" can be stopped. /// </summary> /// <param name="triggerName"></param> /// <returns>True if the audio trigger is stopped</returns> public static bool Stop(string triggerName) { uint triggerId = AudioManager.GetTriggerId(triggerName); if (triggerId != Audio.InvalidControlId) { NativeAudioSystem.StopTrigger(triggerId, false); } return(triggerId != InvalidControlId); }
/// <summary> /// Removes the specified trigger with the specified name. Returns true if the trigger is removed /// </summary> /// <param name="triggerName"></param> /// <returns></returns> public static bool RemoveTrigger(string triggerName) { bool ret = false; uint triggerId = Audio.InvalidControlId; if (_triggerByName.TryGetValue(triggerName, out triggerId)) { NativeAudioSystem.StopTrigger(triggerId, false); ret = (triggerId != Audio.InvalidControlId); //update entries _triggerByName.Remove(triggerName); _indexTriggerIdToName.Remove(triggerId); //listeners should be removed manually by user ret = true; } return(ret); }
/// <summary> /// Stops all active audio triggers. /// </summary> /// <returns></returns> public static void StopAllTriggers() { NativeAudioSystem.StopTrigger(InvalidControlId, false); }