#if !UNITY_2019_1_OR_NEWER
#define CINEMACHINE_TIMELINE
#endif
#if CINEMACHINE_TIMELINE
using System;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;
using Cinemachine;
//namespace Cinemachine.Timeline
//{
///
/// Timeline track for Cinemachine virtual camera activation
///
[Serializable]
[TrackClipType(typeof(CinemachineShot))]
[TrackBindingType(typeof(CinemachineBrain), TrackBindingFlags.None)]
[TrackColor(0.53f, 0.0f, 0.08f)]
public class CinemachineTrack : TrackAsset
{
///
/// TrackAsset implementation
///
///
///
///
///
public override Playable CreateTrackMixer(
PlayableGraph graph, GameObject go, int inputCount)
{
#if !UNITY_2019_2_OR_NEWER
// Hack to set the display name of the clip to match the vcam
foreach (var c in GetClips())
{
CinemachineShot shot = (CinemachineShot)c.asset;
CinemachineVirtualCameraBase vcam = shot.VirtualCamera.Resolve(graph.GetResolver());
if (vcam != null)
c.displayName = vcam.Name;
}
#endif
var mixer = ScriptPlayable.Create(graph);
mixer.SetInputCount(inputCount);
return mixer;
}
}
//}
#endif