コード例 #1
0
        /// <summary>
        /// 先只实现群聊,返回是否请求到了消息
        /// </summary>
        public void DoChatSession(ICometRequest cometRequest, IEnumerable<ChatMessageModel> messages, FinishCallback cb)
        {
            CometAsyncResult request = cometRequest as CometAsyncResult;
            var newMessages = messages.Where(p => p.Id > request.Request.lastId);
            if (newMessages.Count() > 0)
            {
                request.Response.Message = newMessages;
                cometRequest.IsCompeled = true; 
            }
            else
            {
                request.Response.Message =new  List<ChatMessageModel>();
            }

            if(cb!=null)
            cb(cometRequest);
        }
コード例 #2
0
        public void DoChatSession(ICometRequest cometRequest,IEnumerable<ChatMessageModel> messages, FinishCallback cb)
        {
            HttpCometRequest request = cometRequest as HttpCometRequest;
            string outStr=string.Empty;


            var newMessages = messages.Where(p => p.Id > request.LastId);
            if (newMessages.Count() > 0)
            {
                outStr = newMessages.Count().ToString() + "new message";
                cometRequest.IsCompeled = true;
            }

            request.OutPutMessage = outStr;
          
            if (cb != null)
                cb(cometRequest);
        }
コード例 #3
0
ファイル: Engine.cs プロジェクト: zeta1999/eithne
 public Engine2(Schematic s, FinishCallback finish, Progress progress)
 {
     this.s        = s;
     this.finish   = finish;
     this.progress = progress;
 }
コード例 #4
0
 private static void startPerformRequest(UnityWebRequest www, Request request, FinishCallback callback)
 {
     CoroutineStarter.Instance.Add(waitForRequest(www, request, callback));
 }
コード例 #5
0
        /// <summary>
        /// Performs a HTTP POST request allowing parameters send URL encoded in the body and header fields
        /// </summary>
        /// <param name="url">to use</param>
        /// <param name="parameters">to be encoded into the body</param>
        /// <param name="headers">to be used for the request</param>
        /// <param name="callback">when finished</param>
        public void Post(string url, Dictionary <string, string> parameters, Dictionary <string, string> headers, FinishCallback callback)
        {
            Request request = new Request {
                Url        = url,
                Method     = HttpMethod.POST,
                Parameters = parameters,
                Cookies    = Cookies,
                Headers    = headers
            };

            doPerform(request, callback);
        }
コード例 #6
0
    public void download(string fullURL, string fileName, long offset, DownloadingCallback downloading, TimeoutCallback timeout, StartCallback start, FinishCallback finish)
    {
        mDownloadListLock.waitForUnlock();
        DownloadInfo info = new DownloadInfo();

        // 下载地址里需要将空格替换为%20
        info.mURL                 = StringUtility.strReplaceAll(fullURL, " ", "%20");
        info.mFileName            = fileName;
        info.mDownloadingCallback = downloading;
        info.mStartCallback       = start;
        info.mFinishCallback      = finish;
        info.mTimeoutCallback     = timeout;
        info.mDownloadOffset      = offset;
        mDownloadList.Add(info);
        mDownloadListLock.unlock();
    }
コード例 #7
0
ファイル: GameMessage.cs プロジェクト: surevision/project_yog
 public void setFinishCallback(FinishCallback callback)
 {
     this._onFinishCallback = callback;
 }
コード例 #8
0
ファイル: TestClient.cs プロジェクト: ly774508966/NeoNetwork
 public void Perform(Request request, FinishCallback callback)
 {
     this.Request  = request;
     this.Callback = callback;
 }
コード例 #9
0
        /// <summary>
        /// Performs a HTTP POST request by sending raw bytes as the body
        /// </summary>
        /// <param name="url">to use</param>
        /// <param name="data">raw body to send</param>
        /// <param name="headers">to be used for the request</param>
        /// <param name="callback">when finished</param>
        public void Post(string url, byte[] data, Dictionary <string, string> headers, FinishCallback callback)
        {
            Request request = new Request()
            {
                Url     = url,
                Method  = HttpMethod.POST,
                Body    = data,
                Cookies = Cookies,
                Headers = headers
            };

            perform(request, callback);
        }
コード例 #10
0
ファイル: FlowFinish.cs プロジェクト: tangxiaohui/Koer
 public void SetExternalData(FinishCallback callback)
 {
     _finishCallback = callback;
 }
コード例 #11
0
 private void convertFuncFinishCallback(FinishCallback callback)
 {
     _finishConvertCallback = callback;
 }
コード例 #12
0
 public void Perform(Request request, FinishCallback callback)
 {
     Request  = request;
     Callback = callback;
 }
コード例 #13
0
ファイル: Command.cs プロジェクト: thelegend831/teleports
 public void RegisterFinishCallback(FinishCallback callback)
 {
     finishCallbacks.Add(callback);
 }
コード例 #14
0
        private static IEnumerator waitForRequest(UnityWebRequest www, Request request, FinishCallback callback)
        {
            using (www) {
                yield return(www.SendWebRequest());

                if (string.IsNullOrEmpty(www.error))
                {
                    Dictionary <string, string> headers = new Dictionary <string, string>(www.GetResponseHeaders());
                    if (request.Cookies != null)
                    {
                        request.Cookies.Update(headers);
                    }
                    int code = (int)www.responseCode;
                    UnityWebRequest.ClearCookieCache();
                    callback(new Response(www.downloadHandler.text, code, StatusCodes.MessageFromCode(code), headers, request.Cookies));
                }
                else
                {
                    callback(Response.BuildError(www.error));
                }
            }
        }
コード例 #15
0
 public void Invoke(Request _request, FinishCallback _finish, ErrorCallback _err)
 {
     invoke(_request, _finish, _err);
 }
コード例 #16
0
        private System.Collections.IEnumerator waitForRequest(WWW www, Request request, FinishCallback callback)
        {
            using (www) {
                yield return(www);

                if (string.IsNullOrEmpty(www.error))
                {
                    if (request.Cookies != null)
                    {
                        request.Cookies.Update(www.responseHeaders);
                    }

                    callback(new Response(www.text, HttpStatusCode.OK, "OK", request.Cookies));
                }
                else
                {
                    callback(Response.BuildError(www.error));
                }
            }
        }
コード例 #17
0
 /// <summary>
 /// Performs a HTTP GET request
 /// </summary>
 /// <param name="url">to use</param>
 /// <param name="callback">when finished</param>
 public void Get(string url, FinishCallback callback)
 {
     Get(url, null, null, callback);
 }
コード例 #18
0
 public AnimationPlayer OnFinsh(FinishCallback finish)
 {
     _onFinish = finish;
     return(this);
 }
コード例 #19
0
        public static AnimationBehaviour CreateAnimation <TEase>(this MonoBehaviour monoBehaviour, float duration,
                                                                 float delay = 0f, string name = null, StartCallback startCallback = null, UpdateCallback updateCallback = null,
                                                                 CancelCallback cancelCallback = null, DoneCallback doneCallback = null, FinishCallback finishCallback = null,
                                                                 bool single = false, bool considerTimeScale = true, object data = null, bool inverse = false) where TEase : IAnimationEase, new()
        {
            var ease = new TEase();

            return(CreateAnimation(monoBehaviour, ease, duration, delay, name, startCallback, updateCallback, cancelCallback, doneCallback, finishCallback, single, considerTimeScale, data, inverse));
        }
コード例 #20
0
        public static AnimationBehaviour CreateAnimation(this MonoBehaviour monoBehaviour, AnimationEaseType easeType,
                                                         float duration,
                                                         float delay = 0f, string name = null, StartCallback startCallback = null, UpdateCallback updateCallback = null,
                                                         CancelCallback cancelCallback = null,
                                                         DoneCallback doneCallback     = null, FinishCallback finishCallback = null, bool single = false,
                                                         bool considerTimeScale        = false, object data = null, bool inverse = false)
        {
            var ease = AnimationHelper.EaseTypeToFunction(easeType);

            return(CreateAnimation(monoBehaviour, ease, duration, delay, name, startCallback, updateCallback, cancelCallback, doneCallback, finishCallback, single, considerTimeScale, data, inverse));
        }
コード例 #21
0
        public static AnimationBehaviour CreateAnimation(this MonoBehaviour monoBehaviour, IAnimationEase ease, float duration,
                                                         float delay = 0f, string name = null, StartCallback startCallback = null, UpdateCallback updateCallback             = null, CancelCallback cancelCallback = null,
                                                         DoneCallback doneCallback = null, FinishCallback finishCallback = null, bool single = false, bool considerTimeScale = false, object data                  = null, bool inverse = false)
        {
            if (single)
            {
                if (string.IsNullOrEmpty(name))
                {
                    Debug.Log("Animation can just be single if its name is not empty neither null.");
                }
                else
                {
                    CancelAnimations(monoBehaviour, name);
                }
            }

            var gameObject = monoBehaviour.gameObject;
            var anim       = gameObject.AddComponent <AnimationBehaviour>();

            anim.Delay             = delay;
            anim.Name              = name;
            anim.Ease              = ease;
            anim.StartCallback     = startCallback;
            anim.UpdateCallback    = updateCallback;
            anim.FinishCallback    = finishCallback;
            anim.Duration          = duration;
            anim.DoneCallback      = doneCallback;
            anim.CancelCallback    = cancelCallback;
            anim.ConsiderTimeScale = considerTimeScale;
            anim.Data              = data ?? monoBehaviour;
            anim.Inverse           = inverse;
            anim.Start();

            return(anim);
        }
コード例 #22
0
    public void upload(string fullURL, string fileName, string uploadPath, StartCallback start, FinishCallback finish)
    {
        mUploadListLock.waitForUnlock();
        DownloadInfo info = new DownloadInfo();

        info.mURL            = StringUtility.strReplaceAll(fullURL, " ", "%20");
        info.mFileName       = fileName;
        info.mUploadPath     = uploadPath;
        info.mStartCallback  = start;
        info.mFinishCallback = finish;
        mUploadList.Add(info);
        mUploadListLock.unlock();
    }
コード例 #23
0
    public static void Query(string query, int limit, int callbacksPerFrame, DataCallback dataCallback, FinishCallback finishCallback)
    {
        string queryString = string.Format("?query={1}&limit={2}", baseurl, UnityWebRequest.EscapeURL(query), limit);
        // queryString = UnityWebRequest.EscapeURL(queryString); // escape query for crossorigin.me
        string url = baseurl + queryString;

        Debug.Log(url);
        instance.StartCoroutine(QueryRoutine(url, callbacksPerFrame, dataCallback, finishCallback));
    }
コード例 #24
0
 /// <summary>
 /// Performs a HTTP POST request allowing parameters send URL encoded in the body
 /// </summary>
 /// <param name="url">to use</param>
 /// <param name="parameters">to be encoded into the body</param>
 /// <param name="callback">when finished</param>
 public void Post(string url, Dictionary <string, string> parameters, FinishCallback callback)
 {
     Post(url, parameters, null, callback);
 }
コード例 #25
0
    static IEnumerator QueryRoutine(string url, int callbacksPerFrame, DataCallback dataCallback, FinishCallback finishCallback)
    {
        busy = true;
        var request = UnityWebRequest.Get(url);

        yield return(request.SendWebRequest());

        if (!request.isNetworkError)
        {
            string json = request.downloadHandler.text;
            int    i    = 0;
            foreach (Match m in Regex.Matches(json, @"(\{[^\}]*\})"))
            {
                Data data = null;
                try {
                    data = JsonUtility.FromJson <Data>(m.ToString());
                } catch (System.ArgumentException e) {
                    Debug.LogErrorFormat("Error parsing JSON data {0}: {1}", i, e);
                }
                if (data != null)
                {
                    if (data.a <= 0)
                    {
                        Debug.LogErrorFormat("Invalid JSON data {0}: Invalid Semimajor Axis of {1} AU", i, data.a);
                    }
                    else if (data.e < 0 || data.e >= 1)
                    {
                        Debug.LogErrorFormat("Invalid JSON data {0}: Invalid Eccentricity of {1}", i, data.e);
                    }
                    else
                    {
                        data.index = i;
                        dataCallback(data);
                    }
                }
                if (i % callbacksPerFrame == 0)
                {
                    yield return(null);
                }
                i++;
            }
            finishCallback();
        }
        else
        {
            Debug.LogError(request.error);
        }
        busy = false;
    }
コード例 #26
0
 /// <summary>
 /// Performs a HTTP POST request by sending raw bytes as the body
 /// </summary>
 /// <param name="url">to use</param>
 /// <param name="data">raw body to send</param>
 /// <param name="callback">when finished</param>
 public void Post(string url, byte[] data, FinishCallback callback)
 {
     Post(url, data, null, callback);
 }
コード例 #27
0
 public void Init(TerrainGen gen, FinishCallback fc, AnimationCurve contToAmp)
 {
     generator           = gen;
     callback            = fc;
     continentToAmpCurve = new AnimationCurve(contToAmp.keys);
 }