private static void Stop(SoundParam param) { param.source_.Stop(); if (param.onFinish != null) { param.onFinish(); } param.source_.clip = null; }
public static void Stop(string file_name, int category_id, float fade_time = 0.0f) { List <SoundParam> category_play_list = sound_play_list_[category_id]; Debug.Assert(category_play_list != null, "The category doesn't exist !!!!"); SoundParam param = category_play_list.Find((par) => { return(par.file_name_ == file_name); }); Debug.Assert(param != null, "The filename doesn't exist !!!!"); mono_behaviour_.StartCoroutine(FadeOut(param, fade_time, () => { category_play_list.Remove(param); if (param.onFinish != null) { param.onFinish(); } })); }
private static IEnumerator StopDetect(SoundParam param) { Debug.Assert(param != null, "param is null!!!!!"); while (param.source_.isPlaying || param.is_pause_) { yield return(null); } List <SoundParam> category_play_list = sound_play_list_[param.category_id_]; param.source_.clip = null; if (param.onFinish != null) { param.onFinish(); } category_play_list.Remove(param); }