コード例 #1
0
    void Update()
    {
        for (int i = musics.Count - 1; i >= 0; i--)
        {
            if (musics [i].GetComponent <AudioSource> ().volume < 1)
            {
                musics [i].GetComponent <AudioSource> ().volume += Mathf.Min(Time.deltaTime, 0.2f) / 4f;
            }

            if ((musics [i].GetComponent <AudioSource> ().time == musics [i].GetComponent <AudioSource> ().clip.length) &&
                !musics [i].GetComponent <AudioSource> ().isPlaying)
            {
                GamePullController.DestroyAudio(musics[i]);
                musics.RemoveAt(i);
            }
        }

        for (int i = sounds.Count - 1; i >= 0; i--)
        {
            if ((sounds [i].GetComponent <AudioSource> ().time == sounds [i].GetComponent <AudioSource> ().clip.length) &&
                !sounds [i].GetComponent <AudioSource> ().isPlaying)
            {
                GamePullController.DestroyAudio(sounds[i]);
                sounds.RemoveAt(i);
            }
        }
    }
コード例 #2
0
    public void ClearSounds()
    {
        foreach (var s in sounds)
        {
            GamePullController.DestroyAudio(s);
        }

        sounds.Clear();
    }
コード例 #3
0
 public void RemoveAudio(GameObject audio)
 {
     musics.Remove(audio);
     sounds.Remove(audio);
     GamePullController.DestroyAudio(audio);
 }