Example #1
0
        private IEnumerator GetAudio()
        {
            if (!string.IsNullOrEmpty(url))
            {
                using (var request = UnityWebRequest.GetAudioClip(url, audioType))
                {
                    var async = request.Send();

                    var progressMeter = OpenProgressMeter();
                    progressMeter.Text = "Downloading";

                    while (!async.isDone)
                    {
                        progressMeter.Value = async.progress;
                        yield return(async.isDone);
                    }

                    if (request.isError)
                    {
                        Debug.Log(this.name + " [Audio Download Error]" + request.error);
                    }
                    else
                    {
                        SetContent(((DownloadHandlerAudioClip)request.downloadHandler).audioClip);
                        UpdateAudioSource();
                    }

                    progressMeter.Value = 1;
                    progressMeter.Dispose();
                }
            }
        }
Example #2
0
    IEnumerator LoadAudio()
    {
        

        var dir = Path.GetDirectoryName(songPath);
        var musicPath = Path.GetFullPath(Directory.GetFiles(dir, "*.ogg")[0]);
        musicPath = new System.Uri(musicPath).AbsoluteUri;
        //TODO f**k the police. may crash.
        print(musicPath);
        print("go go power rangers");
        using (var www = UnityWebRequest.GetAudioClip(musicPath, AudioType.OGGVORBIS))
        {
            yield return www.Send();
            if (www.isError)
            {
                Debug.Log(www.error);
            }
            else
            {
                songClip = DownloadHandlerAudioClip.GetContent(www);

                DontDestroyOnLoad(gameObject);
                SceneManager.LoadScene("game");

                //AudioSource.PlayClipAtPoint(songClip, Vector3.zero);
                // raise da roof!!!
            }
        }
    }
Example #3
0
        /// <summary>
        /// Setup request.
        /// </summary>
        public void Setup()
        {
            // Determine which request to use.
            switch (requestInfo.RequestType)
            {
            case Netko.RequestType.Get:
                UnityRequest = UnityWebRequest.Get(requestInfo.Url.GetUriEscaped());
                break;

            case Netko.RequestType.Post:
                UnityRequest = UnityWebRequest.Post(requestInfo.Url.GetUriEscaped(), requestInfo.Form);
                if (requestInfo.UploadHandler != null)
                {
                    UnityRequest.uploadHandler = requestInfo.UploadHandler;
                }
                break;

            case Netko.RequestType.Delete:
                UnityRequest = UnityWebRequest.Delete(requestInfo.Url.GetUriEscaped());
                break;

            case Netko.RequestType.Put:
                UnityRequest = UnityWebRequest.Put(requestInfo.Url.GetUriEscaped(), requestInfo.PutData);
                break;

            case Netko.RequestType.Head:
                UnityRequest = UnityWebRequest.Head(requestInfo.Url.GetUriEscaped());
                break;

            case Netko.RequestType.Audio:
                UnityRequest = UnityWebRequest.GetAudioClip(requestInfo.Url.GetUriEscaped(), requestInfo.AudioType);
                break;

            case Netko.RequestType.AudioStream:
                AudioRequest = new AudioStreamRequest(requestInfo.Url.GetUriEscaped(true));
                break;

            case Netko.RequestType.Texture:
                UnityRequest = UnityWebRequest.GetTexture(
                    requestInfo.Url.GetUriEscaped(), requestInfo.TextureNonReadable
                    );
                break;

            case Netko.RequestType.AssetBundle:
                UnityRequest = UnityWebRequest.GetAssetBundle(
                    requestInfo.Url.GetUriEscaped(), requestInfo.AssetBundleVersion, requestInfo.AssetBundleCRC
                    );
                break;
            }

            // Initialize variables
            SetError(null);
            isProcessing = false;
            TimeOutTime  = requestInfo.TimeOut;
        }
Example #4
0
        /// <summary>
        /// Creates an asyncronous operation optimized for downloading a <see cref="AudioClip"/> via HTTP GET.
        /// </summary>
        /// <param name="url">The URI of the audio clip to download.</param>
        /// <param name="audioType">The type of audio encoding for the downloaded audio clip.</param>
        /// <returns>An operation that can be used to track the download process.</returns>
        public static IAsyncOperation <AudioClip> GetAudioClip(string url, AudioType audioType)
        {
#if UNITY_2017_1_OR_NEWER
            var webRequest = UnityWebRequestMultimedia.GetAudioClip(url, audioType);
            var result     = new Helpers.WebRequestResult <AudioClip>(webRequest);
#else
            var webRequest = UnityWebRequest.GetAudioClip(url, audioType);
            var result     = new Helpers.WebRequestResult <AudioClip>(webRequest);
#endif

            result.Start();
            return(result);
        }
Example #5
0
        /// <summary>
        /// Creates an asyncronous operation optimized for downloading a <see cref="AudioClip"/> via HTTP GET.
        /// </summary>
        /// <param name="url">The URI of the audio clip to download.</param>
        /// <param name="audioType">The type of audio encoding for the downloaded audio clip.</param>
        /// <param name="userState">User-defined data.</param>
        /// <exception cref="ArgumentNullException">Thrown if <paramref name="url"/> is <see langword="null"/>.</exception>
        /// <exception cref="ArgumentException">Thrown if <paramref name="url"/> is an empty string.</exception>
        /// <returns>An operation that can be used to track the download process.</returns>
        /// <seealso cref="GetAudioClipAsync(string, object)"/>
        public static IAsyncOperation <AudioClip> GetAudioClipAsync(string url, AudioType audioType, object userState = null)
        {
            ThrowIfInvalidUrl(url);

#if UNITY_2017_1_OR_NEWER
            var webRequest = UnityWebRequestMultimedia.GetAudioClip(url, audioType);
#else
            var webRequest = UnityWebRequest.GetAudioClip(url, audioType);
#endif

            var result = new Helpers.WebRequestResult <AudioClip>(webRequest, userState);
            result.Start();
            return(result);
        }
Example #6
0
        /// <summary>
        /// Creates an asyncronous operation optimized for downloading a <see cref="AudioClip"/> via HTTP GET.
        /// </summary>
        /// <param name="url">The URI of the audio clip to download.</param>
        /// <param name="audioType">The type of audio encoding for the downloaded audio clip.</param>
        /// <returns>An operation that can be used to track the download process.</returns>
        public static IAsyncOperation <AudioClip> GetAudioClip(string url, AudioType audioType)
        {
#if UNITY_2017 || UNITY_2018
            var webRequest = UnityWebRequestMultimedia.GetAudioClip(url, audioType);
            var result     = new WebRequestResult <AudioClip>(webRequest);
#elif UNITY_5_4_OR_NEWER
            var webRequest = UnityWebRequest.GetAudioClip(url, audioType);
            var result     = new WebRequestResult <AudioClip>(webRequest);
#else
            var www    = new WWW(url);
            var result = new WwwResult <AudioClip>(www);
#endif

            result.Start();
            return(result);
        }
        private void _BeginDownload()
        {
            m_Data = null;
            var type = cRequest.assetType;
            var head = cRequest.head;

            if (CacheManager.Typeof_AudioClip.Equals(type))
            {
                AudioType au = AudioType.MOD;
                if (cRequest.head is AudioType)
                {
                    au = (AudioType)cRequest.head;
                }
                m_webrequest = UnityWebRequest.GetAudioClip(cRequest.url, au);
            }
            else if (CacheManager.Typeof_Texture2D.Equals(type))
            {
                if (cRequest.head is bool)
                {
                    m_webrequest = UnityWebRequest.GetTexture(cRequest.url, (bool)cRequest.head);
                }
                else
                {
                    m_webrequest = UnityWebRequest.GetTexture(cRequest.url);
                }
            }
            else if (head is WWWForm)
            {
                m_webrequest = UnityWebRequest.Post(cRequest.url, (WWWForm)head);
            }
            else if (head is string)
            {
                var bytes = LuaHelper.GetBytes(head.ToString());
                m_webrequest = UnityWebRequest.Put(cRequest.url, bytes);
            }
            else if (head is System.Array)
            {
                m_webrequest = UnityWebRequest.Put(cRequest.url, (byte[])head);
            }
            else
            {
                m_webrequest = UnityWebRequest.Get(cRequest.url);
            }

            m_asyncOperation = m_webrequest.Send();
        }
    private IEnumerator LoadAudioURL(string url)
    {
        UnityWebRequest www = UnityWebRequest.GetAudioClip(url, AudioType.WAV);

        yield return(www.Send());

        if (www.isError)
        {
            Log.Text(label, "Failed to load audio: " + url, www.error, Log.Level.Warning);
        }
        else
        {
            AudioClip audioClip = ((DownloadHandlerAudioClip)www.downloadHandler).audioClip;
            audioSource.clip = audioClip;
            audioSource.Play();
        }
    }
Example #9
0
    IEnumerator asyncLoadClip1()
    {
        string url = globalData.url;
        int    i   = getCurrentCardNo();

        url = url + globalData.getUnixPath() + "/" + i.ToString() + ".mp3";
        url = url + "?p=" + globalData.sessionId;
        //url = "file://" + Application.persistentDataPath + "/test.wav";

        string authorization = authenticate("hadmin", "hindiusa123");
        //UnityWebRequest www = UnityWebRequest.GetTexture (url);



        UnityWebRequest www = UnityWebRequest.GetAudioClip(url, AudioType.MPEG);

        www.SetRequestHeader("AUTHORIZATION", authorization);
        yield return(www.Send());

        if (www.isError)
        {
            Debug.Log("Error accessing the url : " + url + " : " + www.error);
        }
        else
        {
            AudioSource audio = gameObject.GetComponent <AudioSource> ();

            ac = DownloadHandlerAudioClip.GetContent(www);
            audio.PlayOneShot(ac);
            StartCoroutine(changeBtnColor());
        }

        www.Dispose();

        /*WWW www = new WWW (url);
         *
         * yield return www;
         * if (string.IsNullOrEmpty(www.error)) {
         *      AudioSource audio = gameObject.GetComponent<AudioSource>();
         *      ac = www.GetAudioClip (false,true, AudioType.MPEG);
         *      audio.PlayOneShot (ac);
         * }*/
    }
    IEnumerator GetAudioClip()
    {
        Debug.Log("clicked");
        using (UnityWebRequest www = UnityWebRequest.GetAudioClip("https://vw123.000webhostapp.com/sounds/0954.ogg", AudioType.OGGVORBIS))
        {
            Debug.Log("clicked_inside");
            yield return(www.Send());

            if (www.isError)
            {
                Debug.Log(www.error);
            }
            else
            {
                Debug.Log("download clip");
                AudioClip myClip = DownloadHandlerAudioClip.GetContent(www);
            }
        }
    }
Example #11
0
    IEnumerator LoadClip(string fileName, Action <AudioClip, string> callBackFunction, string fileType = "wav")
    {
        /* old code
         * WWW www;
         * www = new WWW (Application.persistentDataPath + fileName + "." + fileType);
         * yield return www;
         * AudioClip myClip = www.GetAudioClip (false, false);*/
        using (UnityWebRequest www = UnityWebRequest.GetAudioClip("file://" + Application.persistentDataPath + "/" + fileName + "." + fileType, AudioType.WAV)) {
            yield return(www.Send());

            if (www.isError)
            {
                Debug.Log(www.error);
            }
            else
            {
                callBackFunction(DownloadHandlerAudioClip.GetContent(www), fileName);
            }
        }
    }
Example #12
0
        protected virtual IEnumerator playAudioFile(Model.Wrapper wrapper, string url, string outputFile, AudioType type = AudioType.WAV, bool isNative = false, bool isLocalFile = true, System.Collections.Generic.Dictionary <string, string> headers = null)
        {
            //Debug.LogWarning("playAudioFile: " + wrapper);

            if (wrapper != null && wrapper.Source != null)
            {
                if (!isLocalFile || (isLocalFile && new System.IO.FileInfo(outputFile).Length > 1024))
                {
#if UNITY_2017_1_OR_NEWER
                    using (UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip(url.Trim(), type))
#else
                    using (UnityWebRequest www = UnityWebRequest.GetAudioClip(url.Trim(), type))
#endif
                    {
                        if (headers != null)
                        {
                            foreach (System.Collections.Generic.KeyValuePair <string, string> kvp in headers)
                            {
                                www.SetRequestHeader(kvp.Key, kvp.Value);
                            }
                        }

#if UNITY_2017_2_OR_NEWER
                        yield return(www.SendWebRequest());
#else
                        yield return(www.Send());
#endif
#if UNITY_2017_1_OR_NEWER
                        if (!www.isHttpError && !www.isNetworkError)
#else
                        if (string.IsNullOrEmpty(www.error))
#endif
                        {
                            //just for testing!
                            //string outputFile = Util.Config.AUDIOFILE_PATH + wrapper.Uid + extension;
                            //System.IO.File.WriteAllBytes(outputFile, www.bytes);

#if UNITY_WEBGL
                            AudioClip ac = Util.WavMaster.ToAudioClip(www.downloadHandler.data);
#else
                            AudioClip ac = DownloadHandlerAudioClip.GetContent(www);

                            do
                            {
                                yield return(ac);
                            } while (ac.loadState == AudioDataLoadState.Loading);
#endif

                            //Debug.Log("ac.loadState: " + ac.loadState + " - " + www.downloadedBytes);

                            if (ac.loadState == AudioDataLoadState.Loaded)
                            {
                                wrapper.Source.clip = ac;

                                if (Util.Config.DEBUG)
                                {
                                    Debug.Log("Text generated: " + wrapper.Text);
                                }

                                copyAudioFile(wrapper, outputFile, isLocalFile, www.downloadHandler.data);

                                if (!isNative)
                                {
                                    onSpeakAudioGenerationComplete(wrapper);
                                }

                                if ((isNative || wrapper.SpeakImmediately) && wrapper.Source != null)
                                {
                                    wrapper.Source.Play();
                                    onSpeakStart(wrapper);

                                    do
                                    {
                                        yield return(null);
                                    } while (!silence && Util.Helper.hasActiveClip(wrapper.Source));

                                    if (Util.Config.DEBUG)
                                    {
                                        Debug.Log("Text spoken: " + wrapper.Text);
                                    }

                                    onSpeakComplete(wrapper);

                                    if (ac != null)
                                    {
                                        AudioClip.Destroy(ac);
                                    }
                                }
                            }
                            else
                            {
                                string errorMessage = "Could not load the audio file the speech: " + wrapper;
                                Debug.LogError(errorMessage);
                                onErrorInfo(wrapper, errorMessage);
                            }
                        }
                        else
                        {
                            string errorMessage = "Could not generate the speech: " + wrapper + System.Environment.NewLine + "WWW error: " + www.error;
                            Debug.LogError(errorMessage);
                            onErrorInfo(wrapper, errorMessage);
                        }
                    }
                }
                else
                {
                    string errorMessage = "The generated audio file is invalid: " + wrapper;
                    Debug.LogError(errorMessage);
                    onErrorInfo(wrapper, errorMessage);
                }
            }
            else
            {
                string errorMessage = "'Source' is null: " + wrapper;
                Debug.LogError(errorMessage);
                onErrorInfo(wrapper, errorMessage);
            }
        }
Example #13
0
        private void _BeginDownload()
        {
            m_Data = null;
            var type     = cRequest.assetType;
            var userData = cRequest.userData;

            if (LoaderType.Typeof_AudioClip.Equals(type))
            {
                AudioType au = AudioType.MOD;
                if (userData is AudioType)
                {
                    au = (AudioType)userData;
                }
#if UNITY_2017
                m_webrequest = UnityWebRequestMultimedia.GetAudioClip(cRequest.url, au);
#else
                m_webrequest = UnityWebRequest.GetAudioClip(cRequest.url, au);
#endif
            }
            else if (LoaderType.Typeof_AssetBundle.Equals(type))
            {
                m_webrequest = UnityWebRequest.GetAssetBundle(cRequest.url);
            }
            else if (LoaderType.Typeof_Texture2D.Equals(type))
            {
#if UNITY_2017
                if (userData is bool)
                {
                    m_webrequest = UnityWebRequestTexture.GetTexture(cRequest.url, (bool)userData);
                }
                else
                {
                    m_webrequest = UnityWebRequestTexture.GetTexture(cRequest.url);
                }
#else
                if (userData is bool)
                {
                    m_webrequest = UnityWebRequest.GetTexture(cRequest.url, (bool)userData);
                }
                else
                {
                    m_webrequest = UnityWebRequest.GetTexture(cRequest.url);
                }
#endif
            }
            else if (userData is WWWForm)
            {
                m_webrequest = UnityWebRequest.Post(cRequest.url, (WWWForm)userData);
            }
            else if (userData is string)
            {
                var bytes = LuaHelper.GetBytes(userData.ToString());
                m_webrequest = UnityWebRequest.Put(cRequest.url, bytes);
            }
            else if (userData is System.Array)
            {
                m_webrequest = UnityWebRequest.Put(cRequest.url, (byte[])userData);
            }
            else
            {
                m_webrequest = UnityWebRequest.Get(cRequest.url);
            }

            WebHeaderCollection headers = (WebHeaderCollection)cRequest.head;

            if (headers != null)
            {
                foreach (var k in headers.AllKeys)
                {
                    m_webrequest.SetRequestHeader(k, headers.Get(k));
                }
            }

            m_asyncOperation = m_webrequest.Send();
        }
Example #14
0
        /// <summary>
        /// Initiates the audio object (for implementation).
        /// </summary>
        /// <returns>Wait for complete.</returns>
        /// <param name="path">Source path.</param>
        /// <param name="ojName">Object's name.</param>
        /// <param name="type">Audio's type.</param>
        /// <param name="augmentation">The object you want to add the audio source on.</param>
        /// <param name="autoPlay">Audio's auto playing setting.</param>
        /// <param name="loop">Audio's loop setting.</param>
        /// <param name="volumn">Audio's volumn.</param>
        private IEnumerator _initiateAudio(string path, string ojName, AudioType type, GameObject augmentation, bool autoPlay, bool loop, float volumn)
        {
            augmentation.name = ojName;

            AudioSource mySource = augmentation.AddComponent <AudioSource>();

            mySource.loop = loop;
            if (volumn > 1 || volumn < 0)
            {
                mycallback.onLoadFailed("Volumn out of range");
            }
            else
            {
                mySource.volume = volumn;
            }

            try
            {
                request = UnityWebRequest.GetAudioClip(path, type);
            }
            catch (Exception e)
            {
                mycallback.onLoadFailed("Initiate Error: " + e);
            }

            AsyncOperation ao = request.Send();

            while (!ao.isDone)
            {
                mycallback.getInitiatePorgress(request.downloadProgress, ojName);
                yield return(new WaitForEndOfFrame());
            }

            yield return(request.isDone == true);


            try
            {
                AudioClip clip = (request.downloadHandler as DownloadHandlerAudioClip).audioClip;
                clip.name     = ojName;
                mySource.clip = clip;

                if (autoPlay)
                {
                    mySource.Play();
                }

                do
                {
                    mycallback.getInitiatePorgress(request.downloadProgress, ojName);
                } while (request.downloadProgress > 0 && request.downloadProgress < 1);
                mycallback.getInitiatePorgress(1, ojName);
                mycallback.onLoadFinish("Initiate complete: " + path);
            }
            catch (Exception e)
            {
                mycallback.onLoadFailed("Initiate Error: " + e);
            }

            request = null;
        }
Example #15
0
        public AssetLoadOperation(string bundleName, string assetName, System.Type type)
        {
            m_AssetBundleName = bundleName;
            m_AssetName       = assetName;
            m_Type            = type;
            id = GetId(m_AssetBundleName, m_AssetName, m_Type);

            // ランタイムキャッシュに存在すれば、そのまま利用
            if (AssetManager.m_RuntimeCache.TryGetValue(id, out m_Object))
            {
                if (m_Object)
                {
                    return;
                }
                else
                {
                    AssetManager.m_RuntimeCache.Remove(id);
                }
            }

            AssetManager.AddDepend(m_AssetBundleName, id);

#if UNITY_EDITOR
            // シミュレーションモード中. アセットバンドルはAssetDataBaseを利用してロード.
            // Simulation mode (only in editor).
            if (AssetManager.isSimulationMode && !assetName.Contains("://") && type != typeof(AssetBundleManifest))
            {
                // Resources からロードします.
                if (string.IsNullOrEmpty(bundleName))
                {
                    var relativePath = string.Format("resources/{0}.", assetName).ToLower();
                    m_Object = UnityEditor.AssetDatabase.FindAssets(string.Format("t:{0} {1}", type.Name, Path.GetFileName(assetName)))
                               .Select(guid => UnityEditor.AssetDatabase.GUIDToAssetPath(guid).ToLower())
                               .Where(x => x.Contains(relativePath))
                               .Select(x => UnityEditor.AssetDatabase.LoadAssetAtPath(x, type))
                               .FirstOrDefault();
                }
                // AssetBundle からロードします.
                else
                {
                    m_Object = UnityEditor.AssetDatabase.GetAssetPathsFromAssetBundleAndAssetName(bundleName, assetName)
                               .Select(x => UnityEditor.AssetDatabase.LoadAssetAtPath(x, type))
                               .FirstOrDefault();
                }

                if (!m_Object)
                {
                    if (string.IsNullOrEmpty(m_AssetBundleName))
                    {
                        error = string.Format("アセット {1} が見つかりませんでした(シミュレーションモード)", m_AssetBundleName, m_AssetName);
                    }
                    else
                    {
                        error = string.Format("アセットバンドル {0} 内に、アセット {1} が見つかりませんでした(シミュレーションモード)", m_AssetBundleName, m_AssetName);
                    }
                }
                progress = 1f;
                return;
            }
#endif

            // Asset in Web or StreamingAssets.
            if (assetName.Contains("://"))
            {
                if (m_Type == typeof(Texture2D))
                {
                    m_WebRequest = UnityWebRequest.Get(assetName);
                    m_WebRequest.SetCacheable(new CacheableDownloadHandlerTexture(m_WebRequest, new byte[256 * 1024]));
//#if UNITY_2017_1_OR_NEWER
//					m_WebRequest = UnityWebRequestTexture.GetTexture(assetName, true);
//#else
//					m_WebRequest = UnityWebRequest.GetTexture(assetName, true);
//#endif
                }
                else if (m_Type == typeof(AudioClip))
                {
#if UNITY_2017_1_OR_NEWER
                    m_WebRequest = UnityWebRequestMultimedia.GetAudioClip(assetName, AudioType.MPEG);
#else
                    m_WebRequest = UnityWebRequest.GetAudioClip(assetName, AudioType.MPEG);
#endif
                }
                else
                {
                    m_WebRequest = UnityWebRequest.Get(assetName);
                }

                m_Request = m_WebRequest.Send();
            }
            // Asset in Resources.
            else if (string.IsNullOrEmpty(m_AssetBundleName))
            {
                m_Request = Resources.LoadAsync(assetName, type);
            }
        }
Example #16
0
        private void _BeginDownload()
        {
            m_Data = null;
            var type = cRequest.assetType;
            var head = cRequest.head;

            if (CacheManager.Typeof_AudioClip.Equals(type))
            {
                AudioType au = AudioType.MOD;
                if (cRequest.head is AudioType)
                {
                    au = (AudioType)cRequest.head;
                }
#if UNITY_2017
                m_webrequest = UnityWebRequestMultimedia.GetAudioClip(cRequest.url, au);
#else
                m_webrequest = UnityWebRequest.GetAudioClip(cRequest.url, au);
#endif
            }
            else if (CacheManager.Typeof_AssetBundle.Equals(type))
            {
                m_webrequest = UnityWebRequest.GetAssetBundle(cRequest.url);
            }
            else if (CacheManager.Typeof_Texture2D.Equals(type))
            {
#if UNITY_2017
                if (cRequest.head is bool)
                {
                    m_webrequest = UnityWebRequestTexture.GetTexture(cRequest.url, (bool)cRequest.head);
                }
                else
                {
                    m_webrequest = UnityWebRequestTexture.GetTexture(cRequest.url);
                }
#else
                if (cRequest.head is bool)
                {
                    m_webrequest = UnityWebRequest.GetTexture(cRequest.url, (bool)cRequest.head);
                }
                else
                {
                    m_webrequest = UnityWebRequest.GetTexture(cRequest.url);
                }
#endif
            }
            else if (head is WWWForm)
            {
                m_webrequest = UnityWebRequest.Post(cRequest.url, (WWWForm)head);
            }
            else if (head is string)
            {
                var bytes = LuaHelper.GetBytes(head.ToString());
                m_webrequest = UnityWebRequest.Put(cRequest.url, bytes);
            }
            else if (head is System.Array)
            {
                m_webrequest = UnityWebRequest.Put(cRequest.url, (byte[])head);
            }
            else
            {
                m_webrequest = UnityWebRequest.Get(cRequest.url);
            }

            if (cRequest.headers != null)
            {
                var headers = cRequest.headers;
                foreach (var kv in headers)
                {
                    m_webrequest.SetRequestHeader(kv.Key, kv.Value);
                }
            }

            if (!string.IsNullOrEmpty(cRequest.overrideHost))
            {
                m_webrequest.SetRequestHeader("host", cRequest.overrideHost);
            }

            m_asyncOperation = m_webrequest.Send();
        }
Example #17
0
        private IEnumerator RequestCoroutine()
        {
            url = ResetCache(url);

#if UNITY_5_4_OR_NEWER
            switch (method)
            {
            case UnityWebRequest.kHttpVerbGET:
                www = UnityWebRequest.Get(url);
                break;

            case UnityWebRequest.kHttpVerbPOST:
                www = UnityWebRequest.Post(url, wwwFrom);
                break;

            case kHttpVerbTexture:
                www = UnityWebRequest.GetTexture(url);
                break;

            case kHttpVerbAudioClip:
                www = UnityWebRequest.GetAudioClip(url, audioType);
                break;

            default:
                www        = new UnityWebRequest(url);
                www.method = method;
                break;
            }

            yield return(www.Send());
#else
            if (wwwFrom.data.Length > 0)   // POST request
            {
                foreach (var entry in wwwFrom.headers)
                {
                    mHeaders [System.Convert.ToString(entry.Key)] = System.Convert.ToString(entry.Value);
                }

                www = new WWW(url, wwwFrom.data, mHeaders);
            }
            else     // GET request
            {
                www = new WWW(url, null, mHeaders);
            }
#endif

            yield return(mono.StartCoroutine(CheckTimeout()));

            if (mDisposed)
            {
                if (mOnDisposed != null)
                {
                    mOnDisposed(null);
                }
            }
            else if (System.String.IsNullOrEmpty(www.error))
            {
                if (mOnDone != null)
                {
                    mOnDone(www);
                }
            }
            else
            {
                if (mOnFail != null)
                {
                    mOnFail(www);
                }
            }
        }