}
@Override
protected void tickImpl(TimeLapse time) {
// Check if we can deliver nearby
final Parcel delivery = getDelivery(time, 5);
final RoadModel rm = roadModel.get();
final PDPModel pm = pdpModel.get();
if (delivery != null) {
if (delivery.getDestination().equals(getPosition())
&& pm.getVehicleState(this) == VehicleState.IDLE) {
pm.deliver(this, delivery, time);
} else {
rm.moveTo(this, delivery.getDestination(), time);
}
return;
}
// Otherwise, Check if we can pickup nearby