Exemple #1
0
    private void init(BGIRequestResult requestResult, float inHttpTimeOut, RequestType inType)
    {
        requestBody             = requestResult;
        type                    = inType;
        httpTimeOut             = inHttpTimeOut;
        requestSuccessed        = requestResult.requestSuccessed;
        requestSuccessedTexture = requestResult.requestSuccessedTexture;

        requestFail = requestResult.requestFail;
    }
Exemple #2
0
 public void dispose()
 {
     if (client != null)
     {
         client.Dispose();
     }
     resultarr               = null;
     client                  = null;
     idle                    = true;
     requestBody             = null;
     requestFail             = null;
     requestSuccessedTexture = null;
     requestSuccessed        = null;
 }
Exemple #3
0
 public BGHttpRequest(BGIRequestResult requestResult)
 {
     init(requestResult, httpTimeOut, type);
 }
Exemple #4
0
 //ToDo 之后需要这里添加判别回复类型,现在默认为文字
 public BGHttpRequest(BGIRequestResult requestResult, float inHttpTimeOut, RequestType inType)
 {
     init(requestResult, inHttpTimeOut, inType);
 }
Exemple #5
0
    //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);
    }