Example #1
0
        /// <summary>
        /// Reloads all plugins in the plugins directory
        /// </summary>
        public void ReloadPlugins()
        {
            if (!started)
            {
                throw new InvalidOperationException("PluginManager has not been started.");
            }
            lock (LockObject)
            {
                LocalLoader.Unload();
                LocalLoader = new LocalLoader(PluginDirectory);
                try
                {
                    LoadUserAssemblies();
                }
                catch (Exception exception)
                {
                    Log.Instance.Log(exception);
                }

                ChangeTime = new DateTime(0);
                if (PluginsReloaded != null)
                {
                    PluginsReloaded(this, new EventArgs());
                }
            }
        }