#include <AIWrapper.h>
Inheritance diagram for AIWrapper:
Public Member Functions | |
AIWrapper () | |
virtual bool | performLogic (bool includeglobalkb_=false) |
returns true if state changed, false otherwise | |
AIState * | getCurrentState () const |
void | enableFSM (AI_FSM_IDS FSMID_, AIState *state_=0) |
void | disableFSM (AI_FSM_IDS FSMID_) |
bool | setFSM (AI_FSM_IDS FSMID_, AIState *state_=0, bool autoEnable_=true) |
AI_FSM_IDS | getFSM () |
bool | pushFSM (AI_FSM_IDS FSMID_, AIState *state_=0, bool autoEnable_=true) |
bool | popFSM () |
bool | setLogic (AI_LOGIC_IDS LOGICID_) |
AI_LOGIC_IDS | getCurrentLOGICID () |
AIKB * | getKB () const |
virtual void | doAction () |
to be implemented by derived or containing class | |
virtual | ~AIWrapper () |
virtual void | init (AI_LOGIC_IDS LOGICID_, AI_FSM_IDS FSMID_, AIState *state_) |
virtual void | init (AI_LOGIC_IDS LOGICID_, AI_FSM_IDS FSMID_, AIState *state_, AIKB *kb_) |
|
default constructor |
|
destructor - delete _kb if it was created by this class |
|
|
|
|
|
get the ID of the current logic processor |
|
get the current state of the current finite state machine |
|
returns the current AIFSM ID or AI_FSM_NONE if no AIFSM has been set for this object |
|
get the local AIKB used by this object |
|
|
|
a class that inherits or contains an AIWrapper MUST call init before calling other AIWrapper methods |
|
returns true if state changed, false otherwise change state if necessary
|
|
if there is an empty AIFSM stack, then this method does nothing (returns false). otherwise, it removes the top (current) AIFSM and switches to the one below it in the stack |
|
if FSMID_ is the same as the current AIFSM's ID, then this method does nothing (returns false). switching to another AIFSM via this method means that this object's previous AIFSM is stored in a stack NOTE: the default initial state of the AIFSM will be used |
|
if FSMID_ is the same as the current AIFSM's ID, then this method does nothing (returns false). switching to another AIFSM via this method means that this object's previous AIFSM(s) is/are not tracked. NOTE: any previous AIFSM stack is cleared |
|
|