public static AnimatorController CreateController(HighlightingAnimator highlightingAnimator, string path)
        {
            var controller = AnimatorController.CreateAnimatorControllerAtPath(path);

            controller.AddParameter(highlightingAnimator.normal, AnimatorControllerParameterType.Trigger);
            controller.AddParameter(highlightingAnimator.highlighted, AnimatorControllerParameterType.Trigger);

            var rootStateMachine = controller.layers[0].stateMachine;

            var normalMotion = CreateAnimationClip(highlightingAnimator.normal);

            AddClipToAnimatorController(normalMotion, controller);

            var highlightedMotion = CreateAnimationClip(highlightingAnimator.highlighted);

            AddClipToAnimatorController(highlightedMotion, controller);

            var normalState = rootStateMachine.AddState(highlightingAnimator.normal);

            normalState.motion = normalMotion;

            var highlightedState = rootStateMachine.AddState(highlightingAnimator.highlighted);

            highlightedState.motion = highlightedMotion;

            var normalTransition      = CreateAnyStateTransition(rootStateMachine, normalState, highlightingAnimator.normal);
            var highlightedTransition = CreateAnyStateTransition(rootStateMachine, highlightedState, highlightingAnimator.highlighted);

            return(controller);
        }
        public static void TryCreateControllerFromPanel(HighlightingAnimator highlightingAnimator)
        {
            var title     = "Create new controller";
            var extension = "controller";
            var path      = EditorUtility.SaveFilePanel(title, "", highlightingAnimator.name, extension);

            path = FileUtil.GetProjectRelativePath(path);

            if (path.Length > 1)
            {
                highlightingAnimator.animator.runtimeAnimatorController = CreateController(highlightingAnimator, path);
            }
        }
Ejemplo n.º 3
0
 private void OnEnable()
 {
     m_HighlightingAnimator = (HighlightingAnimator)target;
 }