Example #1
0
 public static bool Is <TState>(this IPOCOMachine <TState> machine, TState state)
 {
     return(GetDispatcher(machine).@Get(x =>
                                        object.Equals(x.Current, state)));
 }
Example #2
0
 static Internal.IDispatcher <TState> GetDispatcher <TState>(IPOCOMachine <TState> machine)
 {
     return(DispatcherAccessor <TState> .Get(machine.GetType())(machine));
 }
Example #3
0
 public static void Dispatch <TState>(this IPOCOMachine <TState> machine,
                                      Expression <Action <object[]> > selector, params object[] parameters)
 {
     GetDispatcher(machine).@Do(x =>
                                x.Dispatch(selector.@GetTrigger(x.Settings.TriggerType), parameters));
 }
Example #4
0
 public static void Dispatch <TState, T1, T2, T3>(this IPOCOMachine <TState> machine,
                                                  Expression <Action <T1, T2, T3> > selector, T1 parameter1, T2 parameter2, T3 parameter3)
 {
     GetDispatcher(machine).@Do(x =>
                                x.Dispatch(selector.@GetTrigger(x.Settings.TriggerType), parameter1, parameter2, parameter3));
 }
Example #5
0
 public static void Dispatch <TState>(this IPOCOMachine <TState> machine,
                                      Expression <Action> selector)
 {
     GetDispatcher(machine).@Do(x =>
                                x.Dispatch(selector.@GetTrigger(x.Settings.TriggerType)));
 }
Example #6
0
 public static void SetState <TState>(this IPOCOMachine <TState> machine, TState state)
 {
     GetDispatcher(machine).@Do(x =>
                                x.SetState(state));
 }