64 lines
1.9 KiB
C#
64 lines
1.9 KiB
C#
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();
|
|
};
|
|
}
|
|
}
|
|
}
|
|
}
|