using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Video; using DG.Tweening; using System; public class TimeOfDayHandler : MonoBehaviour { [SerializeField] private VideoPlayer _videoPlayer; [Space(16)] [SerializeField] private VideoClip _dayClip; [SerializeField] private VideoClip _dayTransitionClip; [Space(16)] [SerializeField] private VideoClip _nightClip; [SerializeField] private VideoClip _nightTransitionClip; [Space(16)] [SerializeField] private Light _directionLight; [SerializeField] private Color _dayLight; [SerializeField] private Color _nightLight; private void Start() { _videoPlayer.clip = _dayClip; _videoPlayer.Play(); } private void Update() { if(Input.GetKeyDown(KeyCode.Space)) { if(_videoPlayer.clip == _dayClip) { _directionLight.DOIntensity(.5f, 15f); _directionLight.DOColor(_nightLight, 15f); _videoPlayer.Stop(); _videoPlayer.clip = _dayTransitionClip; _videoPlayer.Play(); _videoPlayer.loopPointReached += player => { _videoPlayer.Stop(); _videoPlayer.clip = _nightClip; _videoPlayer.Play(); }; } else if(_videoPlayer.clip == _nightClip) { _directionLight.DOIntensity(.5f, 15f); _directionLight.DOColor(_dayLight, 15f); _videoPlayer.Stop(); _videoPlayer.clip = _nightTransitionClip; _videoPlayer.Play(); _videoPlayer.loopPointReached += player => { _videoPlayer.Stop(); _videoPlayer.clip = _dayClip; _videoPlayer.Play(); }; } } } }