public static StateMachine Build() { connectionEstablishedTrigger = new ManualTransitionTrigger() { ForceImmediateTransition = true }; connectionDroppedTrigger = new ManualTransitionTrigger() { ForceImmediateTransition = true }; StateMachine machine = new ConnectionStateManager(ConnectionStateIdentifier.Unknown, connectionEstablishedTrigger, connectionDroppedTrigger); machine.AddState(CreateUnknownState()); machine.AddState(CreateConnectedState()); machine.AddState(CreateDisconnectedState()); return(machine); }
public ConnectionStateManager(object startStateId, ManualTransitionTrigger connectionEstablishedTrigger, ManualTransitionTrigger connectionDroppedTrigger) : base(startStateId) { ConnectionDroppedTrigger = connectionDroppedTrigger; ConnectionEstablishedTrigger = connectionEstablishedTrigger; }