Пример #1
0
			Air::U1 System::Initialization(){
				//Start();

				AddFactory(new	NoParamFactory<Stream>());
				AddFactory(new	NoParamFactory<Package>());
				return	true;
			}
Пример #2
0
CArchiveLoader::CArchiveLoader()
{
	// TODO maybe move ArchiveFactory registration to some external place
	AddFactory(new CPoolArchiveFactory());
	AddFactory(new CDirArchiveFactory());
	AddFactory(new CZipArchiveFactory());
	AddFactory(new CSevenZipArchiveFactory());
}
Пример #3
0
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));
	}
Пример #5
0
   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;
   }
Пример #6
0
Ai::Ai() : empty_input(CarInput::INVALID, 0.0)
{
	AddFactory("aistd", new AiCarStandardFactory());
	AddFactory("aiexp", new AiCarExperimentalFactory());
}