private bool IsGameEnd() { var playerCount = this.players.Count(); // If multiple player, stop when one player is left active. if (1 < playerCount) { var activeCount = players.Values.Select(p => p.IsActive).Where(IsActive => IsActive == true).Count(); return(activeCount > 1 ? false : true); } // if solo player, end only if snake is deactivated. else if (playerCount == 1) { //var tmp = players.Values.Select(p => p.IsActive == true).Count(); var activeCount = players.Values.Select(p => p.IsActive).Where(IsActive => IsActive == true).Count(); return(activeCount > 0 ? false : true); } // if no players, destroy lobby. else { gameServer.RemoveLobby(this.ID); return(true); } }