示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
文件: State.cs 项目: rinavin/RCJS
 public void AddTransition(StateTransition transition)
 {
     transitions.Add(transition);
 }
示例#4
0
 void RegisterTransition(StateTransition transition)
 {
     transition.TransitionTriggered += transition_TransitionTriggered;
 }