Difference between revisions of "SummerOfCodeProposal AI Improvement Crab AI Manager"

From The Battle for Wesnoth Wiki
(New page: = AI Manager = First version of this class is already written and committed to Wesnoth. The purpose of this class is to act as a single point of contact between Wesnoth code and AI code ...)
 
m (AI Manager)
Line 3: Line 3:
 
First version of this class is already written and committed to Wesnoth.
 
First version of this class is already written and committed to Wesnoth.
  
The purpose of this class is to act as a single point of contact between Wesnoth code and AI code
+
The purpose of this class is to act as a single point of contact between Wesnoth code and AI code and to manage AI lifecycle, thus avoiding any leaks and allowing AI hot-redeployment.
  
 
This class is used by Wesnoth in the following ways:
 
This class is used by Wesnoth in the following ways:

Revision as of 20:41, 2 April 2009

AI Manager

First version of this class is already written and committed to Wesnoth.

The purpose of this class is to act as a single point of contact between Wesnoth code and AI code and to manage AI lifecycle, thus avoiding any leaks and allowing AI hot-redeployment.

This class is used by Wesnoth in the following ways:

- to add, create AIs, or list all known AI types (aliases)

- to remove AIs

- to get active AI parameters

- to set active AI parameters

- to ask the AI to play its turn.

Also, this class is a factory for the AIs (at the moment, this functionality is used by master AIs who need additional AIs to be created)