Example #1
0
    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();
        }
    }
Example #2
0
    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);
 }