using System.Collections; 
 | 
using System.Collections.Generic; 
 | 
using UnityEngine; 
 | 
using System.Threading; 
 | 
using LitJson; 
 | 
  
 | 
public class ServerListParser : SingletonMonobehaviour<ServerListParser> 
 | 
{ 
 | 
  
 | 
    bool hasCommonResult = false; 
 | 
    ServerInfoCommon serverInfoCommon; 
 | 
    bool hasPlayerResult = false; 
 | 
    ServerInfoPlayer serverInfoPlayer; 
 | 
  
 | 
    public void PushCommonServerListRawData(string content) 
 | 
    { 
 | 
        hasCommonResult = false; 
 | 
        ThreadPool.QueueUserWorkItem((object aaa) => 
 | 
        { 
 | 
            serverInfoCommon = JsonMapper.ToObject<ServerInfoCommon>(content); 
 | 
            hasCommonResult = true; 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    public void PushPlayerServerListRawData(string content) 
 | 
    { 
 | 
        hasPlayerResult = false; 
 | 
        Debug.Log("ServerListParser:" + content); 
 | 
        if (content == "" || content == "{}") 
 | 
            return; 
 | 
        JsonData RankArr = JsonMapper.ToObject(content); 
 | 
        if (RankArr["player"]["group_list"].Count == 0) 
 | 
            return; 
 | 
  
 | 
        ThreadPool.QueueUserWorkItem((object aaa) => 
 | 
        { 
 | 
            serverInfoPlayer = JsonMapper.ToObject<ServerInfoPlayer>(content); 
 | 
            hasPlayerResult = true; 
 | 
            SetIsInWhiteList(); 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    public void ReportCommonResult() 
 | 
    { 
 | 
        if (serverInfoCommon != null) 
 | 
        { 
 | 
            ServerListCenter.Instance.SetServerlistCommon(serverInfoCommon); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public void ReportPlayerResult() 
 | 
    { 
 | 
        if (serverInfoPlayer != null) 
 | 
        { 
 | 
            ServerListCenter.Instance.SetServerListPlayer(serverInfoPlayer); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public void SetIsInWhiteList() 
 | 
    { 
 | 
        DebugUtility.Instance.isWhiteListAccount = serverInfoPlayer.white == 1; 
 | 
    } 
 | 
  
 | 
  
 | 
    private void Update() 
 | 
    { 
 | 
        if (hasCommonResult) 
 | 
        { 
 | 
            ReportCommonResult(); 
 | 
            hasCommonResult = false; 
 | 
        } 
 | 
  
 | 
        if (hasPlayerResult) 
 | 
        { 
 | 
            ReportPlayerResult(); 
 | 
            hasPlayerResult = false; 
 | 
        } 
 | 
    } 
 | 
  
 | 
} 
 |