/// <summary>
 /// Protected constructor
 /// </summary>
 /// <param name="performer"></param>
 /// <param name="startTime"></param>
 /// <param name="transitionLogic"></param>
 protected PerformedStep(ActivityPerformer performer, DateTime?startTime, IFsmTransitionLogic <PerformedStepStatus> transitionLogic)
     : base(PerformedStepStatus.IP, transitionLogic)
 {
     _activities = new HashedSet <Activity>();
     _startTime  = startTime ?? Platform.Time;
     _performer  = performer;
 }
Esempio n. 2
0
 /// <summary>
 /// Protected constructor that allows for customized FSM logic.  Typically there should be no need to customize the FSM logic.
 /// </summary>
 /// <param name="transitionLogic"></param>
 protected Activity(IFsmTransitionLogic <ActivityStatus> transitionLogic)
     : base(ActivityStatus.SC, transitionLogic)
 {
     _performedSteps = new HashedSet <PerformedStep>();
     _scheduling     = new ActivityScheduling();
 }
Esempio n. 3
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="initialState"></param>
 /// <param name="transitionLogic"></param>
 public PersistentFsm(TStateEnum initialState, IFsmTransitionLogic <TStateEnum> transitionLogic)
 {
     _transitionLogic = transitionLogic;
     _creationTime    = _lastStateChangeTime = Platform.Time;
     _state           = initialState;
 }