private IEnumerator AsyncLoadFromURL(string fileURL, string iniSection, IniLoadedCallback loadedCallback) { fileURL = GetLocalURL(fileURL); this.LogTrace("Loading ini file from URL '" + fileURL + "'", LogCategory.INITIALIZATION); string errorMessage; byte[] iniBytes = null; using (WWW wwwRequest = new WWW(fileURL)) { // Wait for download to finish yield return(wwwRequest); errorMessage = wwwRequest.error; if (String.IsNullOrEmpty(errorMessage)) { iniBytes = wwwRequest.bytes; } } if (!String.IsNullOrEmpty(errorMessage)) { this.LogWarning("Could not load ini file from URL '" + fileURL + "': " + errorMessage); loadedCallback(null); yield break; } string iniContents = Encoding.UTF8.GetString(iniBytes, 0, iniBytes.Length); loadedCallback(Parse(iniContents, iniSection)); }
public void LoadFromURL(string fileURL, string iniSection, IniLoadedCallback loadedCallback) { _coroutineCreator.StartCoroutine(AsyncLoadFromURL(fileURL, iniSection, loadedCallback)); }