public ICustomerInformationCollector SelectBuiltInProgram(ProgramType type) { IWashProgram program = _programFactory.Create(type); _motherboard.Transmit(new WashProgramSelectedSignal(program)); return(this); }
public void TransitionState(IWashTunnelState state) { _state = state; if (state is FreeState) { _motherboard.Transmit(new VehicleReadySignal()); } }
public void Wash(IVehicle vehicle, IWashProgram program) { if (!_sensor.IsDirty(vehicle)) { _motherboard.Transmit(new VehicleAlreadyCleanSignal()); return; } _washTunnel.Wash(vehicle, program); }