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

LimitCommand() private method

private LimitCommand ( CommandContext context, IEnumerable arguments ) : void
context CommandContext
arguments IEnumerable
return void
        public void LimitCommand(CommandContext context, IEnumerable<string> arguments)
        {
            if (arguments.Count() == 0)
            {
                SendInContext(context, "The current limit is: {0} {1}", Manager.Limit, Manager.LimitType);
            }
            else
            {
                int result;
                if (int.TryParse(arguments.First(), out result))
                {
                    Manager.Limit = result;

                    if (arguments.ElementAtOrDefault(1)?.ToLowerInvariant()?.StartsWith("r") == true)
                        Manager.LimitType = GameManager.LimitMode.Rounds;
                    else
                        Manager.LimitType = GameManager.LimitMode.Points;

                    Manager.SendPublic(context.Nick, "Set the limit to {0} {1}!", result, Manager.LimitType);
                }
                else
                {
                    SendInContext(context, "Failed to set the limit");
                }
            }
        }