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)