transportByFleet

open suspend fun transportByFleet(system: FleetSystem, destination: String, origin: String = entity.currentLocation.name, loadingDelay: GetValueIfc = ConstantRV.ZERO, unLoadingDelay: GetValueIfc = ConstantRV.ZERO, priority: Int = TRANSPORT_REQUEST_PRIORITY, suspensionName: String? = null): FleetTransportResult(source)

Asks for transport and waits until it has been delivered.

The entity waits twice and for two different things -- for a vehicle to be assigned and to arrive, then for the ride itself -- but both are the same suspension from the process's point of view, which is why this is one verb rather than three. Use requestFleetTransport/awaitFleetTransport when the process must act in between.

Return

what the transport cost

Parameters

system

the fleet to ask

destination

the junction or station to be delivered to

origin

where the vehicle should collect the entity; where it is now by default

loadingDelay

how long it takes to put the entity aboard, during which the vehicle is stationary and still holding its space

unLoadingDelay

how long it takes to take it off

priority

orders this request against others posted at the same instant

suspensionName

names this suspension point when a process has several