// This method loads the identified asset server, passing an approrpiately // initialized Initialize wrapper. There should to be exactly one match, // if not, then the first match is used. private IAssetServer loadAssetServer(string id, PluginInitializerBase pi) { if (!String.IsNullOrEmpty(id)) { m_log.DebugFormat("[HALCYONBASE] Attempting to load asset server id={0}", id); try { PluginLoader<IAssetServer> loader = new PluginLoader<IAssetServer>(pi); loader.AddFilter(PLUGIN_ASSET_SERVER_CLIENT, new PluginProviderFilter(id)); loader.Load(PLUGIN_ASSET_SERVER_CLIENT); if (loader.Plugins.Count > 0) { m_log.DebugFormat("[HALCYONBASE] Asset server {0} loaded", id); return (IAssetServer) loader.Plugins[0]; } } catch (Exception e) { m_log.DebugFormat("[HALCYONBASE] Asset server {0} not loaded ({1})", id, e.Message); } } return null; }
public PluginLoader(PluginInitializerBase init) { Initializer = init; initialize_plugin_dir_("."); }
public PluginLoader(PluginInitializerBase init, string dir) { Initializer = init; initialize_plugin_dir_(dir); }
public PluginLoader() { Initializer = new PluginInitializerBase(); initialize_plugin_dir_("."); }