Helipad allows the order of agent activation to be specified globally as either 'random'
or 'linear'
. This hook allows more complex ordering to be specified both globally and on a per-primitive basis.
This hook generates a key function for use in list.sort()
. The list of agents will be sorted by the value returned from this function, and activated in that order.
The order
hook will run once per primitive per stage. Corresponding per-primitive hooks are also available on the pattern [primitive]Order
, e.g. bankOrder
would apply to the ordering of a 'bank'
primitive. See model.addPrimitive()
.
Required Parameters
agent — Agent
An Agent object to be sorted.
model — Helipad
The model object.
stage — int
The current stage of the model.
Expected Return Value — num|str
An ordinal value by which the agent in question should be sorted.