Air::U1 System::Initialization(){ //Start(); AddFactory(new NoParamFactory<Stream>()); AddFactory(new NoParamFactory<Package>()); return true; }
CArchiveLoader::CArchiveLoader() { // TODO maybe move ArchiveFactory registration to some external place AddFactory(new CPoolArchiveFactory()); AddFactory(new CDirArchiveFactory()); AddFactory(new CZipArchiveFactory()); AddFactory(new CSevenZipArchiveFactory()); }
bool TBWidgetsReader::Init() { for (TBWidgetFactory *wf = g_registered_factories; wf; wf = wf->next_registered_wf) if (!AddFactory(wf)) return false; return true; }
SceneObjectSelfActionFactory::SceneObjectSelfActionFactory() { // add all self-actions AddFactory("Move", xNew0(SceneObjectMoveSelfActionFactory)); // AddFactory("Rotate", xNew0(SceneObjectMoveSelfActionFactory)); // AddFactory("Destroy", xNew0(SceneObjectMoveSelfActionFactory)); }
std::set<ComponentType> ComponentPluginManager::AddPlugin(const std::string& abspath, bool saveWithScene) { // store the name of this plugin std::string libName(GetSimpleFileName(abspath)); libName.assign(GetNameLessAllExtensions(libName)); #if defined(_DEBUG) && (defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined( __BCPLUSPLUS__) || defined( __MWERKS__)) // remove debug postfix from lib name std::string debugPostfix("d"); libName = libName.substr(0, libName.size() - debugPostfix.size()); #endif // _DEBUG #if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined( __BCPLUSPLUS__) || defined( __MWERKS__) #else // remove "lib" prefix if(libName.length() > 3 && libName.substr(0, 3) == "lib") { libName = libName.substr(3, libName.length()); } #endif std::set<ComponentType> result; // if already loaded if(mLoadedPlugins.find(libName) != mLoadedPlugins.end()) { // modify saveWithScene flag anyway, could have changed mLoadedPlugins[libName] = saveWithScene; return result; } if (libName.size() > 0) { mLoadedPlugins[libName] = saveWithScene; } std::list<ComponentPluginFactory*> factories; LoadPluginFactories(libName, abspath, factories); if(factories.empty()) { mLoadedPlugins.erase(libName); } else { std::list<ComponentPluginFactory*>::iterator i; for(i = factories.begin(); i != factories.end(); ++i) { ComponentPluginFactory* factory = *i; assert(factory != NULL); ComponentType ctype = dtEntity::SID(factory->GetName()); // store this type in output list result.insert(ctype); LOG_DEBUG("Registered entity system " + dtEntity::GetStringFromSID(ctype)); // insert factory into factory list AddFactory(factory); } } return result; }
Ai::Ai() : empty_input(CarInput::INVALID, 0.0) { AddFactory("aistd", new AiCarStandardFactory()); AddFactory("aiexp", new AiCarExperimentalFactory()); }