//新規でオーディオ作成 SoundAudio CreateNewAudio(SoundData soundData) { SoundAudio audio = this.transform.AddChildGameObjectComponent <SoundAudio>(soundData.Name); audio.Init(this, soundData); AudioList.Add(audio); return(audio); }
internal void Remove(SoundAudio audio) { AudioList.Remove(audio); if (this.Group.AutoDestoryPlayer && AudioList.Count == 0) { GameObject.Destroy(this.gameObject); } }
//再生(直前があればフェードアウトしてから再生) void PlayAdd(SoundData data, float fadeInTime, float fadeOutTime) { //今のフレームで同じサウンドを鳴らしていたらもう鳴らさない foreach (var item in CurrentFrameAudioList) { if (item != null && item.IsEqualClip(data.Clip)) { return; } } SoundAudio audio = CreateNewAudio(data); //即時再生 audio.Play(fadeInTime); CurrentFrameAudioList.Add(audio); }