Esempio n. 1
0
        private void SetUpModule(ModuleBuilder module, IReadOnlyList <ModuleInfo> modulesInfo)
        {
            if (string.IsNullOrEmpty(module.Name))
            {
                return;
            }

            var moduleInfo = modulesInfo.FirstOrDefault(x => string.Equals(x.Name, module.Name, StringComparison.InvariantCultureIgnoreCase));

            if (moduleInfo is null)
            {
                return;
            }

            if (!string.IsNullOrEmpty(moduleInfo.Aliases))
            {
                foreach (var moduleAlias in moduleInfo.Aliases.Split(" "))
                {
                    module.AddAlias(moduleAlias);
                }
            }

            if (!moduleInfo.Commands.Any())
            {
                return;
            }

            SetUpCommands(module, moduleInfo.Commands.ToList());

            foreach (var submodule in module.Submodules)
            {
                SetUpModule(submodule, moduleInfo.Submodules.ToList());
            }
        }