Enderal SE
https://mod.pub/enderal-se/38-enderal-se
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
747 B
38 lines
747 B
#include "IDynamicCreate.h"
|
|
|
|
#if ENABLE_IDYNAMICCREATE
|
|
|
|
IClassRegistry _gClassRegistry;
|
|
|
|
IClassRegistry::IClassRegistry()
|
|
{
|
|
//
|
|
}
|
|
|
|
IClassRegistry::~IClassRegistry()
|
|
{
|
|
//
|
|
}
|
|
|
|
void IClassRegistry::RegisterClassInfo(UInt32 id, IDynamicType * typeInfo)
|
|
{
|
|
theClassRegistry[id] = typeInfo;
|
|
}
|
|
|
|
IDynamicType * IClassRegistry::LookupClassInfo(UInt32 id)
|
|
{
|
|
ClassRegistryType::iterator iter = theClassRegistry.find(id);
|
|
|
|
return (iter == theClassRegistry.end()) ? NULL : (*iter).second;
|
|
}
|
|
|
|
IDynamicType * IClassRegistry::LookupClassInfo(char * name)
|
|
{
|
|
for(ClassRegistryType::iterator iter = theClassRegistry.begin(); iter != theClassRegistry.end(); iter++)
|
|
if(!strcmp((*iter).second->GetName(), name))
|
|
return (*iter).second;
|
|
|
|
return NULL;
|
|
}
|
|
|
|
#endif
|
|
|