withSIX.Play.Core.Games.Legacy.ServerQuery.GamespyQueryParser.ParsePlayers C# (CSharp) Method

ParsePlayers() static private method

static private ParsePlayers ( Server server, string items ) : Player[]
server Server
items string
return Player[]
        static Player[] ParsePlayers(Server server, string[] items) {
            var names = items.SkipWhile(x => !x.Contains("player_"))
                .Skip(2)
                .TakeWhile(x => x != "team_" && x != String.Empty)
                .ToArray();

            var teams = items.SkipWhile(x => x != "team_")
                .Skip(2)
                .Take(names.Length)
                .ToArray();

            var scores = items.SkipWhile(x => x != "score_")
                .Skip(2)
                .Take(names.Length)
                .ToArray();

            var deaths = items.SkipWhile(x => x != "deaths_")
                .Skip(2)
                .Take(names.Length)
                .ToArray();

            return names.Select((x, index) => CreatePlayer(server, x, teams, index, scores, deaths))
                .ToArray<Player>();
        }