10 #include <Atoms/Globals.h>
11 #include <AtomsCore/Globals.h>
12 #include <Atoms/BehaviourModule.h>
58 bool registerBehaviourModule(
const std::string& moduleName, creatorFn func,
unsigned int moduleType = kNative,
bool replace =
false,
const std::string category =
"");
112 std::map<std::string, creatorFn> m_factoryMap;
114 std::map<std::string, short> m_moduleTypes;
116 std::map<std::string, std::string> m_moduleCategories;
Behaviour module.
Definition: BehaviourModule.h:32
Behaviour module factory.
Definition: BehaviourModules.h:22
bool isRegistered(const std::string &name)
Check if a behaviour module is registered.
AtomsPtr< BehaviourModule > createBehaviourModule(const std::string &name)
Creates a behaviour module.
bool deregisterBehaviourModule(const std::string &name)
Deregisters a Behaviour module type from the factory.
const std::string getBehaviourModuleCategory(const std::string &moduleName)
Gets a registered behaviour category.
BehaviourModule * createBehaviourModuleRawPtr(const std::string &name)
Creates a behaviour module.
static BehaviourModules & instance()
Singleton access.
bool registerBehaviourModule(const std::string &moduleName, creatorFn func, unsigned int moduleType=kNative, bool replace=false, const std::string category="")
Registers a behaviour module in the factory.
std::vector< std::string > getRegisteredBehaviourModules()
Gets all registered behaviour modules.
void clear()
Clear factory.
short moduleType(const std::string &name)
Gets the module type.
Atoms namespace.
Definition: Agent.h:29