bool VerifyNextStateExists(State s, StateTransition transition) { if (!stateMap.ContainsKey(transition.NextStateId)) { errors.Add(new IntegrityError() { Description = String.Format("Transition target state key {1} does not exist, in transition from state {0}", s, transition.NextStateId) }); return(false); } return(true); }
bool ValidateTransition(State s, StateTransition transition) { if (!VerifyNextStateExists(s, transition)) { return(false); } if (Count(transition.TransitionTriggers) == 0) { errors.Add(new IntegrityError() { Description = String.Format("Transition {0} does not have triggers and it is not the default transition.", transition) }); return(false); } return(true); }
public void AddTransition(StateTransition transition) { transitions.Add(transition); }
void RegisterTransition(StateTransition transition) { transition.TransitionTriggered += transition_TransitionTriggered; }