示例#1
0
 private void LoadPlugins(PluginSpace space)
 {
     foreach (var loader in _pluginLoaders)
     {
         loader.LoadPlugins(space, Game);
     }
 }
示例#2
0
        private void UnloadPlugins(PluginSpace space)
        {
            //ClearAllEvents();

            foreach (IUserPluginLoader loader in _pluginLoaders)
            {
                loader.UnloadPlugins(space);
            }
        }
示例#3
0
 public void UnloadPlugins(PluginSpace space)
 {
     for (int i = Plugins.Count - 1; i >= 0; i--)
     {
         if (space == PluginSpace.All || space == Plugins[i].Descriptor.Space)
         {
             _UnloadPlugin(Plugins[i]);
             Plugins.RemoveAt(i);
         }
     }
 }
示例#4
0
        public void LoadPlugins(PluginSpace space, FSGameLoop game)
        {
            UnloadPlugins(space);

            _gameReference = game;

            foreach (IUserPluginDescriptor descriptor in PluginDescriptors)
            {
                if (space == PluginSpace.All || space == descriptor.Space)
                {
                    LoadPlugin(descriptor, game);
                }
            }
        }
示例#5
0
 public void ReloadPlugins(PluginSpace space = PluginSpace.All)
 {
     UnloadPlugins(space);
     LoadPlugins(space, _gameReference);
 }