private static void BindTargetAnimationTrack(BattleCharacterBehaviour behaviour, TrackAsset track, int targetIndex)
 {
     if (behaviour.ActiveTurn == null) return;
     behaviour.GetComponent<PlayableDirector>().SetGenericBinding(
         track,
         behaviour.ActiveTurn.TargetBehaviours[targetIndex].MainSprite.GetComponent<Animator>());
 }
    public static void BindTracks(BattleCharacterBehaviour behaviour, TimelineAsset timeline)
    {
        var timelineAsset = behaviour.GetComponent<PlayableDirector>().playableAsset as TimelineAsset;
        if (timelineAsset == null) return;

        var trackCount = timelineAsset.outputTrackCount;
        for (var trackIndex = 0; trackIndex < timelineAsset.outputTrackCount; trackIndex++)
        {
            var track = timelineAsset.GetOutputTrack(trackIndex);
            if (Actions.TryGetValue(track.name, out var action))
            {
                action(behaviour, track);
            };
        }
    }
 private static void BindAnimationTrack(BattleCharacterBehaviour behaviour, TrackAsset track)
 {
     behaviour.GetComponent<PlayableDirector>().SetGenericBinding(
         track,
         behaviour.MainSprite.GetComponent<Animator>());
 }
 private static void BindTransformTrack(BattleCharacterBehaviour behaviour, TrackAsset track)
 {
     behaviour.GetComponent<PlayableDirector>().SetGenericBinding(
         track,
         behaviour);
 }