CONFIGURATION.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using Wayne.Lib.StateEngine;
  5. namespace SinochemInternetPlusApp.States
  6. {
  7. static class CONFIGURATION
  8. {
  9. public static void Config(StateTransitionLookup sl)
  10. {
  11. sl.AddTransition<Init, Idle>(TransitionType.Init);
  12. sl.AddTransition<Idle, Idle>(TransitionType.Done);
  13. //CarPlate Coming
  14. sl.AddTransition<Idle, SendWelcomeScreen>(TransitionType.CarPlateScanned);
  15. //sl.AddTransition<Idle, ShowTrxListPendingFueling>(TransitionType.CarPlateScanned);
  16. sl.AddTransition<SendWelcomeScreen, ShowTrxListPendingFueling>(TransitionType.Timeout);
  17. sl.AddTransition<SendWelcomeScreen, ShowTrxListPendingFueling>(TransitionType.Done);
  18. sl.AddTransition<ShowTrxListPendingFueling, Idle>(TransitionType.Done);
  19. sl.AddTransition<ShowTrxListPendingFueling, Idle>(TransitionType.Timeout);
  20. //Enter into various modes
  21. sl.AddTransition<Idle, CarPlateManualMode.Composite>(TransitionType.NozzleLifted);
  22. sl.AddTransition<Idle, ICCardMode.Composite>(TransitionType.CardInserted);
  23. //Exit from various modes
  24. //sl.AddTransition<BasicMode.Composite, Idle>(BasicTransitionType.Done);
  25. sl.AddTransition<CarPlateManualMode.Composite, Idle>(BasicTransitionType.Done);
  26. sl.AddTransition<ICCardMode.Composite, Idle>(BasicTransitionType.Done);
  27. //Shutdown
  28. //sl.AddTransition<Idle, Final>(TransitionType.Shutdown);
  29. }
  30. }
  31. }