AI Manager
AI manager is Grail’s command center. Manager takes care of registered entities and shared blackboards. Also, it’s responsible for threading.
Public Interface
Create Blackboard
Creates a shared blackboard identified by the given name.
Register Entity Group
Manager registers entity group (and its entities) with given priority. As a result entities and their behaviors will be updated when UpdateEntities will be called. Entities with lower priority will be updated first. Resulting priority of each entity in group is calculated by adding group priority and relative priority of given entity.
Remove Entity Group
Manager removes entity group and caches its entities for removal. Later on all cached entities will be unregistered from this manager. Unregistered entities will no longer be updated, neither will be their behaviors and reasoners.
Subscribe To Blackboard
Subscribes the given entity to a shared blackboard owned by this manager and identified by a name.
Register Entity Change Observer
Registers entity change observer that will be notified via OnEntityAdded and OnEntityRemoved functions when entity os added or removed from manager.