/// <summary>
    /// Reads the player list into the response object
    /// </summary>
    /// <param name="dataStream">The input stream.</param>
    public static NetworkResponse Parse(MemoryStream dataStream)
    {
        //same deal as ClashSpeciesListProtocol
        ResponseClashPlayerList response = new ResponseClashPlayerList();
        int count = DataReader.ReadInt(dataStream);
        for(int i = 0; i < count; i++){
            int pid = DataReader.ReadInt(dataStream);
            string pname = DataReader.ReadString(dataStream);
            response.players.Add(pid, pname);
        }

        return response;
    }
    /// <summary>
    /// Reads the player list into the response object
    /// </summary>
    /// <param name="dataStream">The input stream.</param>
    public static NetworkResponse Parse(MemoryStream dataStream)
    {
        //same deal as ClashSpeciesListProtocol
        ResponseClashPlayerList response = new ResponseClashPlayerList();
        int count = DataReader.ReadInt(dataStream);

        for (int i = 0; i < count; i++)
        {
            int    pid   = DataReader.ReadInt(dataStream);
            string pname = DataReader.ReadString(dataStream);
            response.players.Add(pid, pname);
        }

        return(response);
    }