Ejemplo n.º 1
0
    private IEnumerator SendWebRequest(WebPacketQueue webPacket)
    {
        IsWating = true;

        webPacket.SendLog();
        UnityWebRequest www = UnityWebRequest.Post(URL, webPacket.GetWWWFrom());

        yield return(www.SendWebRequest());

        string responseData = www.downloadHandler.text;

        Debug.Log("Recv : " + responseData);

        //var testLog = Newtonsoft.Json.JsonConvert.DeserializeObject<WebResponseProfile>(responseData);
        //Debug.Log("testLog : " + testLog);
        //Debug.Log("testLog : " + testLog.actorInfos);

        BaseWebResponse responseClass = (BaseWebResponse)JsonUtility.FromJson(responseData, webPacket.Request.GetResponseType);

        if (webPacket.Request.ResponseCallBack == null)
        {
            // 콜백이 없다면 곧바로 에러 체크
            IsError(responseClass.result, responseClass.msg, false);
        }
        else
        {
            // 콜백이 있으면 콜백 호출
            // 웹으로부터 받은 정보가 에러일 경우 해당 콜백에서 처리
            // (해당 콜백에서만 처리 가능한 작업들이 있을 수 있으므로)
            webPacket.Request.ResponseCallBack(responseClass);
        }

        IsWating = false;
    }