Composite.cs 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. using System;
  2. using System.Collections.Generic;
  3. using Wayne.Lib;
  4. using Wayne.Lib.StateEngine;
  5. using Wayne.Lib.StateEngine.Generic;
  6. namespace SinochemInternetPlusApp.States.CarPlateMode
  7. {
  8. class Composite : CompositeState<FuelingPoint>
  9. {
  10. protected override void ConfigureCompositeStateMachine()
  11. {
  12. CONFIGURATION.Config(StateMachine.StateTransitionLookup);
  13. }
  14. public override void UnhandledEvent(StateEngineEvent stateEngineEvent, ref Transition transition)
  15. {
  16. base.UnhandledEvent(stateEngineEvent, ref transition);
  17. if (stateEngineEvent.Type.Equals(EventType.CardReaderAck))
  18. {
  19. var genericEvent = stateEngineEvent as GenericEvent<CardReaderAckEventArgs>;
  20. if (genericEvent != null && genericEvent.EventArgs != null)
  21. {
  22. if (genericEvent.EventArgs.Ack.MessageSeqNumber == Main.IdleStateCardReaderSqNo)
  23. genericEvent.Handled = true;
  24. }
  25. }
  26. }
  27. }
  28. }