private void LoadDefaultPlugins() { var type = typeof(IRequestifyCommand); foreach (Type mytype in System.Reflection.Assembly.GetCallingAssembly().GetTypes() .Where(mytype => mytype.GetInterfaces().Contains(type) && mytype.IsNotPublic)) { var defaultcommand = new RequestifyCommand(null, Activator.CreateInstance(mytype) as IRequestifyCommand, Status.Enabled); Commands.Add(defaultcommand); Events.CommandRegistered.Invoke(defaultcommand); } }
public CommandManager() { foreach (var Plugin in PluginManager.PluginAssemblies) { var CommTypes = GetTypesFromInterface(Plugin, "IRequestifyCommand"); foreach (var type in CommTypes) { var NewCommand = new RequestifyCommand(Plugin, Activator.CreateInstance(type) as IRequestifyCommand, Status.Enabled); if (Commands.Count(n => n.Name == NewCommand.Name) == 0) { Commands.Add(NewCommand); Events.CommandRegistered.Invoke(NewCommand); } } } }
public void EnableCommand(RequestifyCommand command) { command.Status = Status.Enabled; }
public void DisableCommand(RequestifyCommand command) { command.Status = Status.Disabled; }
public RequestifyCommand GetCommand(RequestifyCommand command) { return(GetCommands().FirstOrDefault(n => n.Name == command.Name && n.Alias == command.Alias)); }