An object responsible for updating the simulation environment after customer decisions have been made.
This component handles "side effects" such as updating customer positions, changing their favorite games, and unlocking casino games, maintaining a functional separation from the core decision-making logic.
Updates the physical position and favorite game of customers who have stopped playing. Customers who transition from 'Playing' to 'Idle' are moved back to their previous position and assigned a new random favorite game.
Updates the physical position and favorite game of customers who have stopped playing. Customers who transition from 'Playing' to 'Idle' are moved back to their previous position and assigned a new random favorite game.
Type parameters
P
The type of customer entity, which must have MovableWithPrevious, CustomerState, ChangingFavouriteGamePlayer, and Entity capabilities.
Value parameters
before
The sequence of customer entities before decision processing.
post
The sequence of customer entities after decision processing.
Attributes
Returns
A list of updated customer entities with their new positions and favorite games.