private IEnumerator DownloadFile(string url, Action <MultilanguageResultCode, string, string> callback) { string dataText = string.Empty; MultilanguageResultCode resultCode = MultilanguageResultCode.SUCCESS; string resultMessage = null; using (UnityWebRequest request = UnityWebRequest.Get(url)) { #if UNITY_2017_2_OR_NEWER yield return(request.SendWebRequest()); #else yield return(request.Send()); #endif while (request.isDone == false) { yield return(null); } #if UNITY_2017_1_OR_NEWER if (request.isNetworkError == true) #else if (request.isError == true) #endif { resultCode = MultilanguageResultCode.FILE_LOAD_FAILED; resultMessage = request.error + " " + request.responseCode + " " + url; callback(resultCode, dataText, resultMessage); yield break; } switch (request.responseCode) { case 200: { dataText = request.downloadHandler.text; break; } case 404: { resultCode = MultilanguageResultCode.FILE_NOT_FOUND; break; } default: { resultCode = MultilanguageResultCode.FILE_LOAD_FAILED; resultMessage = string.Format("Response Code: {0}", request.responseCode); break; } } callback(resultCode, dataText, resultMessage); } }
public void SelectLangaugeByCode(string serviceName, string languageCode, MultilanguageCallback callback) { MultilanguageServiceData service; if (services.TryGetValue(serviceName, out service) == true) { MultilanguageResultCode resultCode = service.SelectLanguage(languageCode); callback(resultCode, null); } else { callback(MultilanguageResultCode.SERVICE_NOT_FOUND, null); } }
private MultilanguageResultCode InitializeService(string serviceName, MultilanguageResultCode resultCode, MulitlanguageXml xmlData) { if (resultCode != MultilanguageResultCode.SUCCESS) { return(resultCode); } MultilanguageServiceData languageInfo = new MultilanguageServiceData(); resultCode = languageInfo.Initialize(xmlData); if (resultCode == MultilanguageResultCode.SUCCESS) { services.Add(serviceName, languageInfo); } return(resultCode); }