Beispiel #1
0
        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;
        }
Beispiel #2
0
        /// <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;
        }