ConveyorRequestIfc

A conveyor request represents the holding of cells on a conveyor and acts as a "ticket" to use the conveyor. Once an entity has a conveyor request, the entity has control over the cells at the start of the segment associated with the entry location along the conveyor. After receiving a request to access the conveyor the entity can either ride on the conveyor or exit. The conveyor request blocks at the point of access until riding or exiting. The request is placed in the blocking entry state. When the entity asks to ride the conveyor then the request will be placed in the riding state. If the entity never rides the conveyor, then the request stays in the blocking entry state. The property isWaitingForEntry indicates that the conveyor request is waiting to be allowed to block the entry cell of the conveyor at its current location. Once the conveyor request is used to ride the conveyor, the isWaitingToConvey property will report false. The isBlockingEntry property will report true until the request begins riding. Once the request reaches its destination, the isBlockingExit property will be true and the request is in the blocking exit state. When the request exits the conveyor the isCompleted property is true and the request is in the completed state. Once in the completed state, the request can no longer be used for any interaction with the conveyor.

Inheritors

Properties

Link copied to clipboard

Can be used when the entity is resumed

Link copied to clipboard
abstract val conveyor: Conveyor

The conveyor the entity is using

Link copied to clipboard

The current location of the entity. This is assigned when the entity arrives at the end of a segment

Link copied to clipboard
abstract val destination: IdentityIfc?

The final location where the entity wants to visit on the conveyor

Link copied to clipboard

The entity that needs to use the conveyor

Link copied to clipboard

The location where the entity first accessed the conveyor

Link copied to clipboard
abstract val frontCell: Conveyor.Cell?

The object riding on the conveyor has a front (facing towards) its destination and an end (facing where it originated). This cell is the furthermost cell occupied towards the front (in the direction of travel)

Link copied to clipboard

True if the item has reached the last cell of the current segment

Link copied to clipboard

True if the entity has reached its destination

Link copied to clipboard
abstract val isBlockingEntry: Boolean
Link copied to clipboard
abstract val isBlockingExit: Boolean
Link copied to clipboard
abstract val isCompleted: Boolean
Link copied to clipboard
abstract val isRiding: Boolean
Link copied to clipboard
Link copied to clipboard
abstract val numCellsNeeded: Int

The number of cells needed when riding on the conveyor

Link copied to clipboard
abstract val numCellsOccupied: Int

The number of cells currently occupied on the conveyor. This may be different from numCellsAllocated because an allocation does not need to convey. It can be used to block the conveyor at one of its entrance locations

Link copied to clipboard
abstract val occupiesCells: Boolean

True if the item occupies cells. After exiting the conveyor the item does not occupy any cells

Link copied to clipboard

While riding this is the location where the entity is heading

Link copied to clipboard
abstract val rearCell: Conveyor.Cell?

This cell is the furthermost cell occupied by the object towards the where it originated.

Link copied to clipboard