/// <summary> /// Load all plugins in assemblies at the given path /// </summary> /// <param name="assembliesPath"></param> public void LoadPluginsFromAssemblies(string assembliesPath) { List <IPhysicsPlugin> physicsPlugins = AuroraModuleLoader.LoadModules <IPhysicsPlugin>(assembliesPath); List <IMeshingPlugin> meshingPlugins = AuroraModuleLoader.LoadModules <IMeshingPlugin>(assembliesPath); meshingPlugins.AddRange(AuroraModuleLoader.LoadModules <IMeshingPlugin>("")); foreach (IPhysicsPlugin plug in physicsPlugins) { try { _PhysPlugins.Add(plug.GetName(), plug); } catch { } } foreach (IMeshingPlugin plug in meshingPlugins) { try { _MeshPlugins.Add(plug.GetName(), plug); } catch { } } }
/// <summary> /// Load all plugins in assemblies at the given path /// </summary> /// <param name="pluginsPath"></param> public void LoadPluginsFromAssemblies(string assembliesPath) { List <IPhysicsPlugin> physicsPlugins = AuroraModuleLoader.LoadModules <IPhysicsPlugin>(assembliesPath); List <IMeshingPlugin> meshingPlugins = AuroraModuleLoader.LoadModules <IMeshingPlugin>(assembliesPath); foreach (IPhysicsPlugin plug in physicsPlugins) { _PhysPlugins.Add(plug.GetName(), plug); } foreach (IMeshingPlugin plug in meshingPlugins) { _MeshPlugins.Add(plug.GetName(), plug); } /*// Walk all assemblies (DLLs effectively) and see if they are home * // of a plugin that is of interest for us * string[] pluginFiles = Directory.GetFiles(assembliesPath, "*.dll"); * * for (int i = 0; i < pluginFiles.Length; i++) * { * LoadPluginsFromAssembly(pluginFiles[i]); * }*/ }