/// <summary> /// Play music /// </summary> /// <param name="musicTitle">Music title</param> public void PlayMusic(MusicTitleData musicTitle) { if ((musicTitle != null) && (MusicAudioSource != null)) { MusicAudioClip = musicTitle.AudioClip; if (!isMuted) { MusicAudioSource.timeSamples = 0; MusicAudioSource.Play(); if (MusicUIManagerScript.Instance != null) { MusicUIManagerScript.Instance.ShowPlay(musicTitle); } } } }
/// <summary> /// Load playlist from resources /// </summary> /// <param name="path">Path</param> public void LoadPlaylistFromResources(string path) { MusicTitleObjectScript[] playlist_objects = Resources.LoadAll <MusicTitleObjectScript>(path); if (playlist_objects != null) { MusicTitleData[] playlist = new MusicTitleData[playlist_objects.Length]; for (int i = 0; i < playlist.Length; i++) { playlist[i] = new MusicTitleData(playlist_objects[i], path); } Playlist = playlist; } else { Playlist = Array.Empty <MusicTitleData>(); } }
/// <summary> /// Play music delayed /// </summary> /// <param name="musicTitle">Music title</param> /// <param name="delay">Delay</param> public void PlayMusicDelayed(MusicTitleData musicTitle, float delay) { float d = Mathf.Max(delay, 0.0f); if ((musicTitle != null) && (MusicAudioSource != null)) { MusicAudioClip = musicTitle.AudioClip; if (!isMuted) { MusicAudioSource.PlayDelayed(d); if (MusicUIManagerScript.Instance != null) { MusicUIManagerScript.Instance.ShowPlay(musicTitle); } } } }
/// <summary> /// Play current music /// </summary> private void PlayCurrentMusic() { if ((Playlist.Length > 0) && (MusicAudioSource != null)) { MusicTitleData music_title = Playlist[currentPlaylistIndex]; MusicAudioClip = music_title.AudioClip; if (!isMuted) { MusicAudioSource.timeSamples = 0; MusicAudioSource.Play(); if (MusicUIManagerScript.Instance != null) { MusicUIManagerScript.Instance.ShowPlay(music_title); } } } }
/// <summary> /// Show play /// </summary> /// <param name="musicTitle">Music title</param> public void ShowPlay(MusicTitleData musicTitle) { if (titleText != null) { titleText.text = musicTitle.Title; } if (descriptionText != null) { descriptionText.text = musicTitle.Description; } if (authorText != null) { authorText.text = musicTitle.Author; } if (iconImage != null) { iconImage.sprite = ((musicTitle.IconSprite == null) ? defaultIconSprite : musicTitle.IconSprite); } if (panelAnimator != null) { panelAnimator.Play("Show"); } }