Ejemplo n.º 1
0
 public void AddTransitionTo(StateNode other, TransitionTrigger trigger)
 {
     if (trigger == null)
     {
         StateNodeEntered  = null;
         StateNodeEntered += () => Goto(other);
     }
     else
     {
         trigger.OnTrigger += () =>
         {
             if (Active)
             {
                 trigger.FireBeforeTransition();
                 if (trigger.Valid)
                 {
                     Goto(other);
                     trigger.FireAfterTransition();
                 }
             }
         };
     }
 }
Ejemplo n.º 2
0
 private void Goto(StateNode other)
 {
     this.Leave(); other.Enter();
 }