Tactics: Western Philosophers Vs. Musicians
0.12
A turn-based tactical game combining rules and gameplay elements inspired by Final Fantasy Tactics and the Mayfair Exponential Game System. Unlike most games of this type, motion is in full, grid-less 3D.
|
#include <AIWrapper.h>
Classes | |
struct | FSMWrapper |
Public Member Functions | |
Wrapper () | |
virtual bool | performLogic (bool includeGlobalKB_=false) |
returns true if state changed, false otherwise More... | |
virtual const State * | getCurrentState () const |
void | enableSwitchingToFSM (FSM_IDS fSMId_, State *state_=0) |
void | disableSwitchingToFSM (FSM_IDS fSMId_) |
bool | setFSM (FSM_IDS fSMId_, State *state_=0, bool autoEnable_=true) |
FSM_IDS | getFSM () const |
bool | pushFSM (FSM_IDS fSMId_, State *state_=0, bool autoEnable_=true) |
bool | popFSM () |
bool | setLogic (LOGIC_IDS logicId_) |
LOGIC_IDS | getCurrentLogicId () |
virtual KB * | getKB () |
virtual void | doAction () |
to be implemented by derived or containing class More... | |
virtual | ~Wrapper () |
virtual void | init (LOGIC_IDS logicId_, FSM_IDS fSMId_, State *state_) |
virtual void | init (LOGIC_IDS logicId_, FSM_IDS fSMId_, State *state_, KB *kB_) |
Protected Attributes | |
FSMWrapper | _fSMs [FSM_MAX] |
std::stack< FSMWrapper * > | _stackFSMs |
FSM_IDS | _currFSMIndex |
KB * | _kB |
bool | _wasKBCreatedHere |
Logic * | _logic |
Wrapper - inherit or contain to endow an object with artificial intelligence
Wrapper::Wrapper | ( | ) |
default constructor
|
virtual |
destructor - delete _kB if it was created by this class
fSMId_ | the ID of the FSM to disable |
|
virtual |
to be implemented by derived or containing class
Reimplemented in Tactics3D::NPC, and OpenSkyNet::Core::AIWrapperObject.
|
inline |
get the ID of the current logic processor
|
inlinevirtual |
get the current state of the current finite state machine
Reimplemented in OpenSkyNet::Core::AIWrapperObject.
|
inline |
|
inlinevirtual |
get the local KB used by this object
Reimplemented in OpenSkyNet::Core::AIWrapperObject.
a class that inherits or contains a Wrapper MUST call init before calling other Wrapper methods
logicId_ | the ID of the Logic class used to determine state transitions |
fSMId_ | the ID of the initial finite state machine used by the object (automatically enabled) |
state_ | the initial state of the object (can be different than the default initial state of the FSM) |
Reimplemented in OpenSkyNet::Core::AIWrapperObject.
logicId_ | the ID of the Logic class used to determine state transitions |
fSMId_ | the ID of the initial finite state machine used by the object (automatically enabled) |
state_ | the initial state of the object (can be different than the default initial state of the FSM) |
kB_ | use an KB already created |
Reimplemented in OpenSkyNet::Core::AIWrapperObject.
|
virtual |
returns true if state changed, false otherwise
change state if necessary
includeGlobalKB_ | use the global KB? (in addition to any local one used) |
Reimplemented in OpenSkyNet::Core::AIWrapperObject.
bool Wrapper::popFSM | ( | ) |
bool Wrapper::setLogic | ( | LOGIC_IDS | logicId_ | ) |
logicId_ | the _logicId of the Logic to switch to |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |