示例#1
0
        /// <summary>
        /// 监听歌曲是否播放完毕
        /// </summary>
        internal static void ListeningSongOver()
        {
            ScenesDatas scenesDatas = ModelManager.Instance.GetScenesDatas;

            if (scenesDatas.AudioSource.clip == null)
            {
                return;
            }

            if (SongTimeTools.IsSongOver(AudioSourceData.GetCurrentSongTime(scenesDatas.AudioSource), AudioSourceData.GetCurrentSongLength(scenesDatas.AudioSource)))
            {
                switch (ModelManager.Instance.GetLogicDatas.CycleType)
                {
                case CycleType.SingleCycle:
                    SongControl.OnSingleCycle();
                    break;

                case CycleType.PlayInOrder:
                    SongControl.OnPlayInOrder();
                    break;

                case CycleType.LoopPlayback:
                    SongControl.OnLoopPlayback();
                    break;

                case CycleType.RandomPlay:
                    SongControl.OnRandomPlay();
                    break;

                case CycleType.SinglePlay:
                    SongControl.OnSinglePlay();
                    break;

                default:
                    break;
                }
            }
        }