コード例 #1
0
        /// <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
                {
                }
            }
        }
コード例 #2
0
        /// <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]);
             * }*/
        }