예제 #1
0
        private void IncrementFile(bool previousDirection)
        {
            FileSelectorPageProvider fileSelector = GetComponent <FileSelectorPageProvider>();

            Assert.IsNotNull(fileSelector);

            FileInfo[] files = fileSelector.SubFiles;

            if (files == null || files.Length <= 1)
            {
                return;
            }

            if (currentPlayer == null)
            {
                return;
            }

            if (currentFileIndex == -1)
            {
                return;
            }

            int nextIndex;

            if (previousDirection)
            {
                nextIndex = currentFileIndex - 1;
            }
            else
            {
                nextIndex = currentFileIndex + 1;
            }

            if (nextIndex >= files.Length)
            {
                nextIndex = 0;
            }
            else if (nextIndex < 0)
            {
                nextIndex = files.Length - 1;
            }

            FileInfo nextFile = files[nextIndex];

            MediaHelpers.MediaType mediaType = MediaHelpers.GetMediaType(nextFile);

            bool success = TryPlayMedia(mediaType, nextFile, currentPlayer);

            // Wrong media player type.
            if (!success)
            {
                CreateMediaPlayer(mediaType);
                TryPlayMedia(mediaType, nextFile, currentPlayer);
                PlaybackControlsManager playbackControlsManager =
                    currentPlayerObject.GetComponentInChildren <PlaybackControlsManager>();
                if (playbackControlsManager != null)
                {
                    playbackControlsManager.SetPlaybackControlsOpen(true);
                }
            }

            mediaSelectorContainer.SetActive(false);
            currentFileIndex = nextIndex;
        }
 void Awake()
 {
     playbackControlsManager = GetComponent <PlaybackControlsManager>();
 }