CONFIGURATION.cs 1.0 KB

123456789101112131415161718192021222324252627
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using Wayne.Lib.StateEngine;
  5. namespace SinochemInternetPlusApp.States.BasicMode
  6. {
  7. static class CONFIGURATION
  8. {
  9. // make sure entry point is Init, and exit point is Final
  10. public static void Config(StateTransitionLookup sl)
  11. {
  12. sl.AddTransition<Init, Shared.AuthorizePump>(TransitionType.Init);
  13. sl.AddTransition<Shared.AuthorizePump, Shared.Fueling>(TransitionType.PumpAuthOk);
  14. sl.AddTransition<Shared.AuthorizePump, Final>(TransitionType.Timeout);
  15. sl.AddTransition<Shared.AuthorizePump, Final>(TransitionType.PumpAuthFailed);
  16. sl.AddTransition<Shared.Fueling, Shared.WaitForPayableTrx>(TransitionType.NozzleReplaced);
  17. sl.AddTransition<Shared.WaitForPayableTrx, Final>(TransitionType.FuelingDone);
  18. sl.AddTransition<Shared.WaitForPayableTrx, Final>(TransitionType.Timeout);
  19. sl.AddTransition<AnyState, Final>(BasicTransitionType.Error);
  20. }
  21. }
  22. }