public static void PlayMusic(string _music) { if (instance.changeClipDelayCooldown > 0) { return; } MusicData data = MusicDatas.GetMusicData(_music); bool musicAlreadyPlaying = false; foreach (MusicInformation s in instance.currentMusicInformations) { if (s.linkedMusicData != data) { instance.StartCoroutine(instance.FadeOutSound_C(s.linkedSource, s.linkedMusicData.fadeOutDuration)); } else if (s.linkedSource.isPlaying) { musicAlreadyPlaying = true; } } if (musicAlreadyPlaying == false) { instance.currentMusicInformations.Clear(); instance.StartCoroutine(instance.FadeInSound_C(data)); instance.changeClipDelayCooldown = instance.minDelayBeforeChangingMusic; } }
public static MusicData GetMusicData(string _name) { if (datas == null) { datas = GetMusicDatas(); } foreach (MusicData d in datas.musicDatas) { if (d.id == _name) { return(d); } } return(null); }
private void OnEnable() { datas = (MusicDatas)target; }