private static IDrone DeliverOrder(IDeliverySettings deliverySettings, IDrone drone, IRoute route) { var baseDrone = drone; var newDrone = drone.Deliver(route); if (IsOutOfReach(deliverySettings, newDrone.Position)) { return(baseDrone); } return(newDrone); }
private static bool IsOutOfReach(IDeliverySettings deliverySettings, IPosition position) { return(deliverySettings.MaxBlocksToDeliver < System.Math.Abs(position.Xaxis) || deliverySettings.MaxBlocksToDeliver < System.Math.Abs(position.Yaxis)); }
public DroneService(IDeliverySettings deliverySettings) { _deliverySettings = deliverySettings; }