예제 #1
0
 public void FetchPlugins()
 {
     LoadedPlugins = FetchPluginsImpl().ToList();
     for (var i = 0; i < LoadedPlugins.Count; i++)
     {
         LoadedPlugins[i].Enabled = Globals.SettingsHelper.FetchPlugin(LoadedPlugins[i].PluginHostGuid).Enabled;
     }
     LoadedPlugins.ForEach(lp =>
     {
         var pluginMd = Globals.SettingsHelper.FetchPlugin(lp.PluginHostGuid);
         if (lp.PluginHost.Plugins != null && pluginMd.Enabled)
         {
             lp.PluginHost.Plugins.ForEach(lpp =>
             {
                 if (lpp.PluginPackets != null)
                 {
                     lpp.PluginPackets.ForEach(lppp =>
                     {
                         Globals.PacketProcessor.PacketTable.Add(lppp.PacketId, lppp.GetType());
                     });
                 }
                 lpp.Initialize();
             });
         }
     });
 }