Skip to content

GameManager utility class

Claudio Bonesana edited this page Apr 14, 2021 · 1 revision

The GameManager is an utility class. Its goal is to update the GameState in a definitive way, though it can also work on copies. To manipulate in a safe way the GameState, use an instance of this class. This class does not contains any information: everything change is an update to the GameState object.

For testing purposes, i.e. when an agent wants to see the consequences of an action, use the activate() method. This method will create a deep copy of the GameState object before apply the changes to it.

Otherwise, to apply in a definitive way the changes of an action to the state, use the step() method.

The methods buildMovements(), buildAttacks(), buildResponses(), buildSupportAttacks(), buildActionsForFigure(), buildResponsesForFigure(), buildActionsForTeam(), and buildResponsesForTeam(), can be used to create different kind of actions.

The other methods are used by the MatchManager class to control the development of a match.

Clone this wiki locally