internal void Load(Command.List commands, out string error) { groups.Clear(); standard = null; int loaded = 0; int failed = 0; int cursor = Console.CursorLeft; error = null; if (!Directory.Exists("groups")) { return; } foreach (string file in Directory.GetFiles("groups", "*." + host.Extension)) { string name = file.Substring(7, file.Length - host.Extension.Length - 8); Group group = Group.Load(commands, name); if (group == null) { failed++; } else { if (group.standard) { if (standard != null) { error = "More than one standard group specified."; } else { standard = group; } } loaded++; groups.Add(group.name.ToLower(), group); } Console.Write((loaded < 0?-loaded:loaded) + " group" + (loaded == 1?"":"s") + " loaded" + (failed == 0?"":" (" + failed + " failed)") + "."); Console.CursorLeft = cursor; } Console.Write((loaded < 0?-loaded:loaded) + " group" + (loaded == 1?"":"s") + " loaded" + (failed == 0?"":" (" + failed + " failed)") + "."); if (loaded == 0) { error = "No groups loaded."; } else if (standard == null) { error = "No standard group specified."; } }