public void AddStateMachine(AnimatorStateMachine stateMachine, Vector3 position) { this.undoHandler.DoUndo(this, "StateMachine " + stateMachine.name + " added"); ChildAnimatorStateMachine item = default(ChildAnimatorStateMachine); item.stateMachine = stateMachine; item.position = position; ChildAnimatorStateMachine[] stateMachines = this.stateMachines; ArrayUtility.Add <ChildAnimatorStateMachine>(ref stateMachines, item); this.stateMachines = stateMachines; }
/// <summary> /// <para>Utility function to add a state machine to the state machine.</para> /// </summary> /// <param name="stateMachine">The state machine to add.</param> /// <param name="position">The position of the state machine node.</param> public void AddStateMachine(AnimatorStateMachine stateMachine, Vector3 position) { this.undoHandler.DoUndo((UnityEngine.Object) this, "StateMachine " + stateMachine.name + " added"); ChildAnimatorStateMachine animatorStateMachine = new ChildAnimatorStateMachine(); animatorStateMachine.stateMachine = stateMachine; animatorStateMachine.position = position; ChildAnimatorStateMachine[] stateMachines = this.stateMachines; ArrayUtility.Add <ChildAnimatorStateMachine>(ref stateMachines, animatorStateMachine); this.stateMachines = stateMachines; }
public void AddStateMachine(AnimatorStateMachine stateMachine, Vector3 position) { ChildAnimatorStateMachine[] childStateMachines = stateMachines; if (System.Array.Exists(childStateMachines, childStateMachine => childStateMachine.stateMachine == stateMachine)) { Debug.LogWarning(System.String.Format("Sub state machine '{0}' already exists in state machine '{1}', discarding new state machine.", stateMachine.name, name)); return; } undoHandler.DoUndo(this, "StateMachine " + stateMachine.name + " added"); ChildAnimatorStateMachine newStateMachine = new ChildAnimatorStateMachine(); newStateMachine.stateMachine = stateMachine; newStateMachine.position = position; ArrayUtility.Add(ref childStateMachines, newStateMachine); stateMachines = childStateMachines; }