public void PlaySound(string n) { AudioClip clip = soundDatas.FirstOrDefault(xs => xs.name == n); if (clip == null) { return; } GameObject prefab = new GameObject(); prefab.name = "Sound-" + n; AudioSource ass = prefab.AddComponent <AudioSource>(); ass.loop = false; ass.volume = soundVolume; ass.clip = clip; ass.mute = MuteAllSound; prefab.transform.SetParent(this.transform); SoundStopper ss = prefab.AddComponent <SoundStopper>(); }
public int PlaySound(SoundTypes st, Vector2?pos = null, bool muteMusic = false, float playDelay = -1f, float endDelay = -1f) { AudioClip clip = GetQuickSound(st); if (clip == null) { return(-1); } GameObject prefab = new GameObject(); prefab.name = "Sound-" + st; AudioSource ass = prefab.AddComponent <AudioSource>(); ass.loop = false; ass.volume = soundVolume; ass.clip = clip; ass.mute = MuteAllSound; prefab.transform.SetParent(soundContainer); if (pos.HasValue) { prefab.transform.position = pos.Value; } else { prefab.transform.position = Vector2.zero; } SoundStopper ss = prefab.AddComponent <SoundStopper>(); ss.MuteMusic = muteMusic; ss.SoundEndDuration = endDelay; ss.SoundStartDelay = playDelay; Sounds.Add(ass.GetInstanceID(), ass); return(ass.GetInstanceID()); }