Bricklayer.Server.IO.LoadPlugins C# (CSharp) Метод

LoadPlugins() публичный статический Метод

public static LoadPlugins ( Server server ) : void
server Server
Результат void
        public static void LoadPlugins(Server server)
        {
            if (!Directory.Exists(pluginFolder))
                Directory.CreateDirectory(pluginFolder);
            string[] files = Directory.GetFiles(pluginFolder, "*.dll");

            List<string> loadedFiles = new List<String>(); //Temporary check for loaded files
            foreach (var file in files)
            {
                //Don't load duplicate files
                string md5 = GetFileMD5(file);
                if (!loadedFiles.Contains(md5))
                {
                    LoadPlugin(server, Path.Combine(Environment.CurrentDirectory, file));
                    loadedFiles.Add(md5);
                }
                else
                {
                    Log.WriteLine(string.Format("Duplicate plugin {0} ({1}) not loaded", Path.GetFileName(file), md5.Substring(0, 7)), ConsoleColor.Red);
                }
            }
        }

Usage Example

Пример #1
0
        /// <summary>
        /// Load plugins
        /// </summary>
        public void LoadPlugins()
        {
            Log.WriteLine("Loading plugins...", ConsoleColor.Green);

            //Load plugins
            Plugins = new List <IPlugin>();
            IO.LoadPlugins(this);

            Log.WriteLine(string.Format("{0} plugin{1} loaded.\n", Plugins.Count, Plugins.Count == 1 ? string.Empty : "s"), ConsoleColor.Green);
        }