Moe.StateMachine.StateMachineBuilder.Build C# (CSharp) Method

Build() public method

public Build ( State parent ) : State
parent Moe.StateMachine.States.State
return Moe.StateMachine.States.State
		public override State Build(State parent)
		{
			RootState root = new RootState();
			((StateBuilderContext)Context).SetRootState(root);

			foreach (IStateBuilder substate in SubStates)
			{
				root.AddChildState(substate.Build(root));
			}

			foreach (Action<State> action in secondPassActions)
			{
				action(root);
			}

			this.VisitChildren(sb => sb.Build(root));

			return root;
		}
	}