canEnter(Agent agent,
Cell cell,
Direction direction)
Can the (non-player) agent enter this terrain? Without regard to side
effects, this method should determine if the agent can actually move into
the cell.

boolean

canExit(Agent agent,
Cell cell,
Direction direction)
Can the (non-player) agent exit this terrain? Without regard to side
effects, this method should determine if the agent can actually move into
the cell.

SERIALIZER

canEnter

Can the (non-player) agent enter this terrain? Without regard to side
effects, this method should determine if the agent can actually move into
the cell. Error on the side of caution and return false if the answer
is ambiguous.

canExit

Can the (non-player) agent exit this terrain? Without regard to side
effects, this method should determine if the agent can actually move into
the cell. Error on the side of caution and return false if the answer
is ambiguous.

onExit

Agent attempting to exit the from cell, heading
toward the to cell. The terrain being used is the
from cell terrain, and the agent is still in the from
cell. If the event is canceled at this point, the agent will not be able
leave this cell. The move will be canceled. This event is fired for the
player as well as all other agents