Beispiel #1
0
        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);
        }
Beispiel #2
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);
                };
            }
        }