CardsAgainstIRC3.Game.States.Base.DeckAddCommand C# (CSharp) Method

DeckAddCommand() private method

private DeckAddCommand ( CommandContext context, IEnumerable arguments ) : void
context CommandContext
arguments IEnumerable
return void
        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);
        }