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(); }); } }); }