예제 #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;
    }
예제 #2
0
    public void RecvProfile(BaseWebResponse baseWebResponse)
    {
        WebResponseProfile response = (WebResponseProfile)baseWebResponse;

        GameManager.Instance.SetMyPlayerCharacters(response.actorInfos);

        FlowManager.Instance.ChangeFlow(new ProfileFlow(), isStack: true);
    }
예제 #3
0
    public void RecvLogout(BaseWebResponse baseWebResponse)
    {
        //WebResponseLogout response = (WebResponseLogout)baseWebResponse;

        //GameManager.Instance.SetMyPlayerCharacters(response.actorInfos);

        //FlowManager.Instance.ChangeFlow(new ProfileFlow(), isStack: true);
    }
    public void RecvDeleteCharacter(BaseWebResponse baseWebResponse)
    {
        WebResponseDeleteCharacter response = (WebResponseDeleteCharacter)baseWebResponse;

        //GameManager.Instance.CreateMyPlayerCharacter(response.actorInfo, response.slotIndex);

        //FlowManager.Instance.BackToFlow();
    }
예제 #5
0
 private void WebResponseRegister(BaseWebResponse baseWebResponse)
 {
     if (NetworkManager.Web.IsError(baseWebResponse.result, baseWebResponse.msg, isNotice: true))
     {
     }
     else
     {
         NetworkManager.Web.RecvRegister(baseWebResponse);
     }
 }
    private void WebResponseCreateCharacter(BaseWebResponse response)
    {
        if (NetworkManager.Web.IsError(response.result, response.msg, true))
        {
        }
        else
        {
            NetworkManager.Web.RecvCreateCharacter(response);

            Exit();
        }
    }
예제 #7
0
    public void RecvLogin(BaseWebResponse baseWebResponse)
    {
        WebResponseLogin response = (WebResponseLogin)baseWebResponse;

        GameManager.Instance.LoginMyPlayer(response.pid);

        // 게임 서버에 로그인 요청
        C_Login cLogin = new C_Login();

        cLogin.Pid = response.pid;
        NetworkManager.Game.Send(cLogin);
    }
예제 #8
0
    private void WebResponseDeleteCharacter(BaseWebResponse response)
    {
        if (NetworkManager.Web.IsError(response.result, response.msg, true))
        {
        }
        else
        {
            NetworkManager.Web.RecvDeleteCharacter(response);

            //actorInfo.IsRegist = false;

            Show();
        }
    }
예제 #9
0
    public void RecvRegister(BaseWebResponse baseWebResponse)
    {
        WebResponseRegister response = (WebResponseRegister)baseWebResponse;

        Debug.Log("계정 생성 됌. 원래는 여기서 팝업으로 알림");
    }
    public void RecvCreateCharacter(BaseWebResponse baseWebResponse)
    {
        WebResponseCreateCharacter response = (WebResponseCreateCharacter)baseWebResponse;

        GameManager.Instance.CreateMyPlayerCharacter(response.actorInfo, response.slotIndex);
    }