Beispiel #1
0
    private void ProcessReplyLeaderboard(byte[] data)
    {
        LeaderboardData leaderboardData = new LeaderboardData();

        lock (bufferLock)
        {
            buffer.Data     = data;
            buffer.Position = 1;

            int numItems = buffer.ReadByte();
            for (int i = 0; i < numItems; ++i)
            {
                int    nameLen      = buffer.ReadByte();
                int    bufferOffset = buffer.Position;
                string name         = Encoding.UTF8.GetString(buffer.Data, bufferOffset, nameLen);
                buffer.Skip(nameLen);

                int score = (int)buffer.ReadUInt32();

                leaderboardData.AddItem(name, score);
            }
        }

        if (game != null)
        {
            game.SetLeaderboard_Thread(leaderboardData);
        }
    }