public override Playable CreateTrackMixer(PlayableGraph graph, GameObject go, int inputCount) { ScriptPlayable <SpineAnimatorChannelTrackMixer> playable = TimelineUtils.CreateTrackMixer <SpineAnimatorChannelTrackMixer>(this, graph, go, inputCount); SpineAnimatorTrack parentTrack = this.parent as SpineAnimatorTrack; if (parentTrack != null) { SpineAnimatorTrackMixer parentMixer = TimelineUtils.GetTrackMixer <SpineAnimatorTrackMixer>(graph, parentTrack); if (parentMixer != null) { SpineAnimatorChannelTrackMixer mixer = playable.GetBehaviour(); mixer.Init(parentMixer); IEnumerable <TimelineClip> clips = GetClips(); foreach (TimelineClip clip in clips) { SpineAnimationClipAsset animationClip = clip.asset as SpineAnimationClipAsset; if (animationClip != null) { clip.displayName = animationClip._animationId; animationClip.SetParentTrack(parentTrack); } } } } return(playable); }
protected override void OnCreateClip(TimelineClip clip) { SpineAnimatorTrack parentTrack = this.parent as SpineAnimatorTrack; if (parentTrack != null) { SpineAnimationClipAsset animationClip = clip.asset as SpineAnimationClipAsset; if (animationClip != null) { animationClip.SetParentTrack(parentTrack); } } }