Exemplo n.º 1
0
        public StateMachine(ITransitionHandlerProvider transitionHandlerProvider, IScheduler scheduler)
        {
            Ensure.Argument.IsNotNull(transitionHandlerProvider, nameof(transitionHandlerProvider));
            Ensure.Argument.IsNotNull(scheduler, nameof(scheduler));

            this.transitionHandlerProvider = transitionHandlerProvider;
            this.scheduler = scheduler;

            StateTransitions = stateTransitions.AsObservable();
        }
Exemplo n.º 2
0
        public StateMachine(ITransitionHandlerProvider transitionHandlerProvider, IScheduler scheduler, ISubject <Unit> delayCancellation)
        {
            Ensure.Argument.IsNotNull(transitionHandlerProvider, nameof(transitionHandlerProvider));
            Ensure.Argument.IsNotNull(scheduler, nameof(scheduler));
            Ensure.Argument.IsNotNull(delayCancellation, nameof(delayCancellation));

            this.transitionHandlerProvider = transitionHandlerProvider;
            this.scheduler         = scheduler;
            this.delayCancellation = delayCancellation;

            StateTransitions = stateTransitions.AsObservable();
            isFrozen         = false;
        }