Пример #1
0
        public void Register(StateCondition stateCondition, MicrowaveTrigger trigger, IStateChanger stateChanger)
        {
            var key = new StateKey
            {
                InitialStateCondition = stateCondition,
                Trigger = trigger
            };

            Add(key, stateChanger);
        }
Пример #2
0
        public void ChangeState(MicrowaveTrigger trigger)
        {
            var key = new StateKey
            {
                InitialStateCondition = GetCurrentState(),
                Trigger = trigger
            };

            if (TryGetValue(key, out var stateChanger))
            {
                stateChanger.ChangeState(door, light, heater, startButton, timer);
            }
        }