public void DeckAddCommand(CommandContext context, IEnumerable<string> arguments)
{
if (arguments.Count() < 1)
{
SendInContext(context, "Usage: !deck.add name [arguments...]");
return;
}
string cardsetID = arguments.ElementAt(0);
if (!GameManager.DeckTypes.ContainsKey(cardsetID))
{
SendInContext(context, "Invalid deck type!");
return;
}
var cardSet = (IDeckType)GameManager.DeckTypes[cardsetID].GetConstructor(new Type[] { typeof(GameManager), typeof(IEnumerable<string>) }).Invoke(new object[] { Manager, arguments.Skip(1) });
Manager.AddCardSet(cardSet);
Manager.SendPublic(context.Nick, "Added {0}", cardSet.Description);
}