using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;

namespace SimplifyXR
{

    [DirectiveCategory(DirectiveCategories.Initiator,
        subCategory = DirectiveSubCategory.UI,
        directiveInfo = "This <i>initiator</i> starts a sequence when a <b>video is finished playing</b> in a Standard Video Panel.",
        prettyName = "Video Finished Playing")]
    public class VideoFinishedPlaying : Initiator
    {

        public VideoPanelFeatures videoPanel;

        public override List<KnobKeywords> ReceiveKeywords()
        {
            return new List<KnobKeywords>();
        }

        public override List<KnobKeywords> SendKeywords()
        {
            return new List<KnobKeywords>();
        }

        public void Start()
        {
           
            videoPanel =
                videoPanel == null ?
                Object.FindObjectOfType<VideoPanelFeatures>() :
                videoPanel;

            videoPanel.videoPlayer.loopPointReached -= HandleEndReached;
            videoPanel.videoPlayer.loopPointReached += HandleEndReached;
        }

        private void HandleEndReached(VideoPlayer source)
        {
            base.Initiate();
        }

        public new void OnDestroy()
        {
            base.OnDestroy();
            videoPanel.videoPlayer.loopPointReached -= HandleEndReached;
        }

    }
}