private void Update() { if (audioGroupPlayState != AudioGroupPlayState.Playing) { return; } foreach (var item in randomLoopSFXDatas) { if (item.IsRunFinished()) { clearRandomList.Add(item); } else { SFXPlayData sFXPlayData = item.Excute(); if (sFXPlayData != null) { PlaySFXData(sFXPlayData); } } } if (clearRandomList.Count > 0) { foreach (var item in clearRandomList) { randomLoopSFXDatas.Remove(item); } clearRandomList.Clear(); } foreach (var item in randomLoopMusicDatas) { if (item.IsRunFinished()) { clearLoopMusicDatas.Add(item); } else { MusicPlayData musicPlayData = item.Excute(); if (musicPlayData != null) { //Debug.Log("currentAudioGroupData: " + currentAudioGroupData.keyName+ " Play MusicPlayData: " + musicPlayData.name); PlayMusicData(musicPlayData, item.flag); } } } if (clearLoopMusicDatas.Count > 0) { foreach (var item in clearLoopMusicDatas) { item.Close(); randomLoopMusicDatas.Remove(item); } clearLoopMusicDatas.Clear(); } }
public SFXPlayData Excute() { SFXPlayData data = null; if (currentTime <= 0) { if (configData.SFXDatas.Count > 0) { int r = UnityEngine.Random.Range(0, configData.SFXDatas.Count); data = configData.SFXDatas[r]; } runTime++; Debug.Log("runTime:" + runTime); RandomTime(); } else { currentTime -= Time.deltaTime; } return(data); }
private static void PlaySFXData(SFXPlayData data) { AudioPlayManager.PlaySFX2D(data.name, data.volume, data.delay, data.pitch); }