#ifndef _CAIFUNCMAP #define _CAIFUNCMAP #include "types.h" #include #include enum EStateMsg { kStateMsg_Activate = 0, kStateMsg_Update = 1, kStateMsg_Deactivate = 2, }; class CAi; class CStateManager; typedef void (CAi::*CAiStateFunc)(CStateManager& mgr, EStateMsg msg, float arg); typedef bool (CAi::*CAiTriggerFunc)(CStateManager& mgr, float arg); class CAiFuncMap { public: CAiFuncMap(); ~CAiFuncMap(); CAiStateFunc GetStateFunc(const char* state) const; CAiTriggerFunc GetTriggerFunc(const char* state) const; private: rstl::vector< rstl::pair< const char*, CAiStateFunc > > x0_states; rstl::vector< rstl::pair< const char*, CAiTriggerFunc > > x10_triggers; }; #endif // _CAIFUNCMAP