Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
        }