less than 1 minute read

Timeline

public class CutsceneManager : MonoBehaviour
{
	public PlayableDirector[] Directors;
	private PlayableDirector _director;

	private void Start()
	{
		StartNewCutScene(Directors[0]);
	}

	private void Director_Stopped(PlayableDirector director)
	{
		CharacterManager.Instance.Player.Controller.ChangeControlable(true);
	}

	private void Director_Played(PlayableDirector director)
	{
		CharacterManager.Instance.Player.Controller.ChangeControlable(false);
	}

	private void StartNewCutScene(PlayableDirector cutscene)
	{
		_director = cutscene;
		_director.played += Director_Played;
		_director.stopped += Director_Stopped;
		_director.Play();
	}
}

이렇게 timeline의 director를 필요할 때 켜주는 매니저를 만들었다.
이러면 여러개의 컷씬을 받아서 원할때에 켜주고 꺼줄수 있으며, 추가로 플레이어 컨트롤에 조건을 추가하여 컷씬중에는 컨트롤을 못하게 막았다.