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; }
public void SendProfile(WebRequestProfile request) { WebPacketQueue webPacket = new WebPacketQueue(request); webPacket.AddField("order", "profile"); webPacket.AddField("name", "findProfile"); webPacket.AddField("pid", request.Pid); Send(webPacket); }
public void SendLogout(WebRequestLogout request) { WebPacketQueue webPacket = new WebPacketQueue(request); webPacket.AddField("order", "login"); webPacket.AddField("name", "logout"); webPacket.AddField("pid", request.Pid); Send(webPacket); }
public void SendLogin(WebRequestLogin request) { WebPacketQueue webPacket = new WebPacketQueue(request); webPacket.AddField("order", "login"); webPacket.AddField("name", "login"); webPacket.AddField("id", request.ID); webPacket.AddField("password", request.Password); Send(webPacket); }
public void SendDeleteCharacter(WebRequestDeleteCharacter request) { WebPacketQueue webPacket = new WebPacketQueue(request); webPacket.AddField("order", "profile"); webPacket.AddField("name", "deleteCharacter"); webPacket.AddField("pid", request.Pid); webPacket.AddField("slotIndex", request.SlotIndex); Send(webPacket); }
public void SendRegister(WebRequestRegister request) { WebPacketQueue webPacket = new WebPacketQueue(request); webPacket.AddField("order", "login"); webPacket.AddField("name", "register"); webPacket.AddField("id", request.Id); webPacket.AddField("password", request.Password); webPacket.AddField("pin", request.Pin.ToString()); Send(webPacket); }
public void SendCreateCharacter(WebRequestCreateCharacter request) { WebPacketQueue webPacket = new WebPacketQueue(request); webPacket.AddField("order", "profile"); webPacket.AddField("name", "registerCharacter"); webPacket.AddField("pid", request.Pid); webPacket.AddField("nickname", request.Nickname); webPacket.AddField("status", request.Status); webPacket.AddField("slotIndex", request.SlotIndex); Send(webPacket); }
public void Send(WebPacketQueue webPacket) { if (IsWating) { Debug.Log("IsWating! " + JsonUtility.ToJson(webPacket)); webPacketQueue.Enqueue(webPacket); return; } if (sendCoroutine != null) { StopCoroutine(sendCoroutine); } sendCoroutine = StartCoroutine(SendWebRequest(webPacket)); }