public void TryToReport() { var vehicleTiltPosition = _tiltSensor.GetTiltPosition(); if (LastReportedVehicleTiltPosition == vehicleTiltPosition) { return; } if (vehicleTiltPosition == TiltPosition.Balanced) { _eventBus.SendEvent(new VehicleTiledToStraightPosition()); } if (vehicleTiltPosition == TiltPosition.Downwards) { _eventBus.SendEvent(new VehicleTiltedDownhill()); } if (vehicleTiltPosition == TiltPosition.Upwards) { _eventBus.SendEvent(new VehicleTiltedUphill()); } LastReportedVehicleTiltPosition = vehicleTiltPosition; }
public TiltChangeReporter(IEventBus eventBus, ITiltPositionSensor tiltSensor) { _eventBus = eventBus; _tiltSensor = tiltSensor; LastReportedVehicleTiltPosition = TiltPosition.Balanced; }