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; //} }
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; } }