private void init(BGIRequestResult requestResult, float inHttpTimeOut, RequestType inType) { requestBody = requestResult; type = inType; httpTimeOut = inHttpTimeOut; requestSuccessed = requestResult.requestSuccessed; requestSuccessedTexture = requestResult.requestSuccessedTexture; requestFail = requestResult.requestFail; }
public void dispose() { if (client != null) { client.Dispose(); } resultarr = null; client = null; idle = true; requestBody = null; requestFail = null; requestSuccessedTexture = null; requestSuccessed = null; }
public BGHttpRequest(BGIRequestResult requestResult) { init(requestResult, httpTimeOut, type); }
//ToDo 之后需要这里添加判别回复类型,现在默认为文字 public BGHttpRequest(BGIRequestResult requestResult, float inHttpTimeOut, RequestType inType) { init(requestResult, inHttpTimeOut, inType); }
//ToDo 之后需要这里添加判别回复类型,现在默认为文字 public static int newRequest(BGIRequestResult requestResult, RequestType inType, string url, int tag = 0, float inHttpTimeOut = 20f, bool nolimit = false, bool noCache = false) { reqid++; //Debug.Log(url); if (mInstance == null) { mInstance = new GameObject("_BGHTTP_AGENT"); GameObject.DontDestroyOnLoad(mInstance); UpdateManager.AddLateUpdate(null, 0, OnUpdate); } //构造requestResult if (requestResult == null) { } //队列尚有空余加之 //if(requests.size<ListLimit)mInstance = go.AddComponent<BGHttpRequest>(); if (noCache) { removeCache(url); } else if (inType == RequestType.IMAGE) { byte[] res = getCache(url); if (res != null) { //MonoBehaviour.print("cached::::"+url); Texture2D imgTexture = new Texture2D(256, 256, TextureFormat.ARGB32, false); // imgTexture.anisoLevel = 9; imgTexture.wrapMode = TextureWrapMode.Clamp; // imgTexture.filterMode = FilterMode.Trilinear; // imgTexture.anisoLevel = 3; imgTexture.LoadImage(res); requestResult.requestSuccessedTexture(imgTexture, tag); return(reqid); } // DownloadImgTest.DownloadTexture(requestResult,url,tag); // GameObject.Find("LoginSceneManager").GetComponent<LoginSceneManager>().DownloadTexture(requestResult,url,tag); // return reqid; } if (inType == RequestType.TEXT) { nolimit = true; } //add new if (requests.size < ListLimit || nolimit) { BGHttpRequest request = new BGHttpRequest(requestResult, inHttpTimeOut, inType); request.requestURLN(url, tag); request.taskid = reqid; requests.Add(request); } else { RequestTask task = new RequestTask(); task.inHttpTimeOut = inHttpTimeOut; task.inType = inType; task.requestResult = requestResult; task.tag = tag; task.url = url; task.taskid = reqid; tasks.Add(task); } return(reqid); }