A class that implements the virtual AI world which keeps track of the AI characters active at any given time. More...
#include "aiWorld.h"
Public Types | |
typedef std::vector< Flock * > | FlockPool |
Public Member Functions | |
AIWorld (NodePath render) | |
void | add_ai_char (AICharacter *ai_ch) |
void | add_flock (Flock *flock) |
This function adds all the AI characters in the Flock object to the AICharPool. More... | |
void | add_obstacle (NodePath obstacle) |
This function adds the nodepath as an obstacle that is needed by the obstacle avoidance behavior. More... | |
void | flock_off (unsigned int flock_id) |
This function turns off the flock behavior temporarily. More... | |
void | flock_on (unsigned int flock_id) |
This function turns on the flock behavior. More... | |
Flock | get_flock (unsigned int flock_id) |
This function returns a handle to the Flock whose id is passed. More... | |
void | print_list () |
This function prints the names of the AI characters that have been added to the AIWorld. More... | |
void | remove_ai_char (std::string name) |
void | remove_ai_char_from_flock (std::string name) |
void | remove_flock (unsigned int flock_id) |
This function removes the flock behavior completely. More... | |
void | remove_obstacle (NodePath obstacle) |
This function removes the nodepath from the obstacles list that is needed by the obstacle avoidance behavior. More... | |
void | update () |
The AIWorld update function calls the update function of all the AI characters which have been added to the AIWorld. More... | |
Public Attributes | |
FlockPool | _flock_pool |
std::vector< NodePath > | _obstacles |
A class that implements the virtual AI world which keeps track of the AI characters active at any given time.
It contains a linked list of AI characters, obstactle data and unique name for each character. It also updates each characters state. The AI characters can also be added to the world as flocks.
void AIWorld::add_flock | ( | Flock * | flock | ) |
This function adds all the AI characters in the Flock object to the AICharPool.
This function allows adding the AI characetrs as part of a flock.
Definition at line 84 of file aiWorld.cxx.
void AIWorld::add_obstacle | ( | NodePath | obstacle | ) |
This function adds the nodepath as an obstacle that is needed by the obstacle avoidance behavior.
Definition at line 157 of file aiWorld.cxx.
void AIWorld::flock_off | ( | unsigned int | flock_id | ) |
This function turns off the flock behavior temporarily.
Similar to pausing the behavior.
Definition at line 127 of file aiWorld.cxx.
void AIWorld::flock_on | ( | unsigned int | flock_id | ) |
This function turns on the flock behavior.
Definition at line 142 of file aiWorld.cxx.
Flock AIWorld::get_flock | ( | unsigned int | flock_id | ) |
This function returns a handle to the Flock whose id is passed.
Definition at line 96 of file aiWorld.cxx.
void AIWorld::print_list | ( | ) |
This function prints the names of the AI characters that have been added to the AIWorld.
Useful for debugging purposes.
Definition at line 63 of file aiWorld.cxx.
void AIWorld::remove_flock | ( | unsigned int | flock_id | ) |
This function removes the flock behavior completely.
Definition at line 109 of file aiWorld.cxx.
void AIWorld::remove_obstacle | ( | NodePath | obstacle | ) |
This function removes the nodepath from the obstacles list that is needed by the obstacle avoidance behavior.
Definition at line 165 of file aiWorld.cxx.
void AIWorld::update | ( | ) |
The AIWorld update function calls the update function of all the AI characters which have been added to the AIWorld.
Definition at line 73 of file aiWorld.cxx.
References AICharacter::update().