/// <summary>
 /// Initializes a new instance of the <see cref="FiniteStateTransition" /> class.
 /// </summary>
 /// <param name="code">The code.</param>
 /// <param name="name">The name.</param>
 /// <param name="reason">The reason.</param>
 /// <param name="startState">The start state.</param>
 /// <param name="endState">The end state.</param>
 public FiniteStateTransition(int code, string name, IFiniteStateMachineTransitionReason reason, IFiniteState startState, IFiniteState endState)
 {
     this.Code       = code;
     this.Name       = name;
     this.Reason     = reason;
     this.StartState = startState;
     this.EndState   = endState;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="FiniteStateTransition" /> class.
 /// </summary>
 /// <param name="code">The code.</param>
 /// <param name="name">The name.</param>
 /// <param name="reason">The reason.</param>
 /// <param name="endState">The end state.</param>
 /// <param name="transition">The transition.</param>
 public FiniteStateTransition(int code, string name, IFiniteStateMachineTransitionReason reason, IFiniteState endState, Func <IFiniteState> transition)
     : this(code, name, reason, endState)
 {
     this.TransitionDelegate = transition;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="FiniteStateTransition" /> class.
 /// </summary>
 /// <param name="code">The code.</param>
 /// <param name="name">The name.</param>
 /// <param name="reason">The reason.</param>
 /// <param name="startState">The start state.</param>
 /// <param name="endState">The end state.</param>
 /// <param name="transition">The transition delegate.</param>
 /// <param name="canTransition">The can transition delegate.</param>
 public FiniteStateTransition(int code, string name, IFiniteStateMachineTransitionReason reason, IFiniteState startState, IFiniteState endState, Func <IFiniteState> transition, Func <bool> canTransition)
     : this(code, name, reason, startState, endState, transition)
 {
     this.CanTransitionDelegate = canTransition;
 }
Beispiel #4
0
 /// <summary>
 /// Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
 /// </summary>
 /// <param name="reason">A reason to compare with this instance.</param>
 /// <returns>A value that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance is less than <paramref name="reason" />. Zero This instance is equal to <paramref name="reason" />. Greater than zero This instance is greater than <paramref name="reason" />.</returns>
 public int CompareTo(IFiniteStateMachineTransitionReason reason)
 {
     return(this.Code.CompareTo(reason.Code));
 }