public bool IsModuleEnabled(IAzusaModule module) { if (!Ini.ContainsKey("disabledModules")) { return(true); } if (!Ini["disabledModules"].ContainsKey(module.IniKey)) { return(true); } int value = Convert.ToInt32(Ini["disabledModules"][module.IniKey]); return(value > 0); }
internal void ModuleScan() { AzusaContext context = AzusaContext.GetInstance(); Assembly azusaExe = Assembly.GetCallingAssembly(); Type[] classes = azusaExe.GetTypes(); Type moduleType = typeof(IAzusaModule); List <Type> foundModules = new List <Type>(); foreach (Type type in classes) { Type[] interfaces = type.GetInterfaces(); foreach (Type iface in interfaces) { if (iface.Equals(moduleType)) { foundModules.Add(type); } } } foreach (Type loadedModule in foundModules) { ToolStripButton tsb = new ToolStripButton(loadedModule.Name); tsb.Click += delegate(object sender, EventArgs args) { IAzusaModule instance = (IAzusaModule)Activator.CreateInstance(loadedModule); instance.OnLoad(); Form subform = new Form(); System.Windows.Forms.Control control = instance.GetSelf(); control.Dock = DockStyle.Fill; subform.Controls.Add(control); subform.Text = instance.Title; subform.Show(this); }; } }