public void DecksetAddCommand(CommandContext context, IEnumerable<string> arguments)
{
if (arguments.Count() == 0)
arguments = new string[] { "default" };
try {
var defaults = arguments.Select(a => new Tuple<string, List<List<string>>>(a, Manager.DefaultSets[a]));
foreach (var def in defaults)
{
foreach (var list in def.Item2)
{
Manager.AddCardSet((IDeckType)GameManager.DeckTypes[list[0]].GetConstructor(new Type[] { typeof(GameManager), typeof(IEnumerable<string>) }).Invoke(new object[] { Manager, list.Skip(1) }));
}
Manager.SendPublic(context.Nick, "Added deck {0}", def.Item1);
}
}
catch (Exception e)
{
SendInContext(context, "Failed to add deckset");
Console.WriteLine(e);
}
}