protected override Playable CreatePlayable(PlayableGraph graph, GameObject go, TimelineClip clip) { PlayableDirector director = go.GetComponent <PlayableDirector>(); RoleData trackRole = director.GetGenericBinding(this) as RoleData; RoleAnimationClip animationClip = clip.asset as RoleAnimationClip; animationClip.Role = trackRole; Playable playable = base.CreatePlayable(graph, go, clip); return(playable); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); return; if (tlAnimationClip == null) { tlAnimationClip = target as RoleAnimationClip; } if (tlAnimationClip == null) { return; } if (tlAnimationClip.Role == null) { return; } if (roleObj == null) { roleObj = World.Instance.GetRoleObj(tlAnimationClip.Role); } if (roleObj == null) { return; } if (clips == null || clips.Length <= 0) { clips = roleObj.Animator.runtimeAnimatorController.animationClips; } if (clips == null || clips.Length <= 0) { return; } if (string.IsNullOrEmpty(selectClipName)) { for (int i = 0; i < clips.Length; i++) { if (clips[i].name == tlAnimationClip.AnimationName) { selectClipIndex = i; } } } selectClipIndex = EditorGUILayout.Popup(selectClipIndex, clips.Select(clip => clip.name).ToArray()); tlAnimationClip.AnimationName = selectClipName = clips[selectClipIndex].name; }