private bool UnloadInternal(object module) { Module unloadedModule; if (_modules.TryRemove(module.GetType(), out unloadedModule)) { foreach (var cmd in unloadedModule.Commands) { _map.RemoveCommand(cmd); } return(true); } else { return(false); } }
private bool RemoveModuleInternal(ModuleInfo module) { if (!_moduleDefs.Remove(module)) { return(false); } foreach (var cmd in module.Commands) { _map.RemoveCommand(cmd); } foreach (var submodule in module.Submodules) { RemoveModuleInternal(submodule); } return(true); }