CardsAgainstIRC3.Game.States.WaitForJoin.StartCommand C# (CSharp) Method

StartCommand() private method

private StartCommand ( CommandContext context, IEnumerable arguments ) : void
context CommandContext
arguments IEnumerable
return void
        public void StartCommand(CommandContext context, IEnumerable<string> arguments)
        {
            if (Manager.Users < 3 || Manager.AllUsers.Count(a => a.CanVote) < 2 || Manager.AllUsers.Count(a => a.CanChooseCards) < 2)
            {
                SendInContext(context, "We don't have enough players!");
                return;
            }
            else if (Manager.CardSets.Sum(a => a.Item1.WhiteCards) == 0 || Manager.CardSets.Sum(a => a.Item1.BlackCards) == 0)
            {
                SendInContext(context, "Not enough cards to start the game!");
                return;
            }

            Manager.SelectRandomCzar();

            Manager.SendToAll("Game is starting...");
            Manager.StartState(new ChoosingCards(Manager));
        }