public void HandleEvent(Event e) { switch (state) { case State.LOCKED: switch (e) { case Event.COIN: state = State.UNLOCKED; turnstileController.Unlock(); break; case Event.PASS: turnstileController.Alarm(); break; } break; case State.UNLOCKED: switch (e) { case Event.COIN: turnstileController.Thankyou(); break; case Event.PASS: state = State.LOCKED; turnstileController.Lock(); break; } break; } }
internal void Lock() { turnstileController.Lock(); }
public override void Lock() { controller.Lock(); }