Example #1
0
    private void GenerateActions()
    {
        ActionsSequencer   sequencer  = target as ActionsSequencer;
        AnimatorController controller = sequencer.controller as AnimatorController;

        while (sequencer.transform.childCount > 0)
        {
            DestroyImmediate(sequencer.transform.GetChild(0).gameObject);
        }

        AnimatorControllerLayer mainLayer = controller.layers[0];

        AnimatorState state = mainLayer.stateMachine.defaultState;
        GameObject    stateParentGameObject = new GameObject(state.name);

        stateParentGameObject.transform.parent = sequencer.transform;
        while (state.transitions.Length > 0)
        {
            AnimatorState subState           = state.transitions[0].destinationState;
            GameObject    subStateGameObject = new GameObject(subState.name);
            subStateGameObject.transform.parent = stateParentGameObject.transform;
            state = subState;
            stateParentGameObject = subStateGameObject;
        }

        //foreach(ChildAnimatorState childState in mainLayer.stateMachine.states)
        //{
        //    GameObject go = new GameObject(childState.state.name);
        //    go.transform.parent = sequencer.transform;
        //}
    }
Example #2
0
    private void GenerateActions()
    {
        ActionsSequencer actionsSequencer = target as ActionsSequencer;

        if (actionsSequencer == null)
        {
            return;
        }

        AnimatorController controller = actionsSequencer.controller as AnimatorController;

        if (controller == null)
        {
            return;
        }

        while (actionsSequencer.transform.childCount > 0)
        {
            DestroyImmediate(actionsSequencer.transform.GetChild(0).gameObject);
        }

        AnimatorControllerLayer mainLayer = controller.layers[0];

        AnimatorState state = mainLayer.stateMachine.defaultState;
        GameObject    stateParentGameObject = new GameObject(state.name);

        stateParentGameObject.transform.parent = actionsSequencer.transform;
        while (state.transitions.Length > 0)
        {
            AnimatorState subState           = state.transitions[0].destinationState;
            GameObject    subStateGameObject = new GameObject(subState.name);
            subStateGameObject.transform.parent = stateParentGameObject.transform;
            state = subState;
            stateParentGameObject = subStateGameObject;
        }
    }