/// <summary> /// /// </summary> IEnumerator DoGet(string uri, Action <ULoginResult> callBack, Dictionary <string, string> headers) { using (UnityWebRequest www = UnityWebRequest.Get(uri)) { if (headers != null) { foreach (KeyValuePair <string, string> item in headers) { www.SetRequestHeader(item.Key, item.Value); } } yield return(www.SendWebRequest()); ULoginResult result = new ULoginResult(www); if (callBack != null) { callBack.Invoke(result); } } }
/// <summary> /// /// </summary> IEnumerator DoPost(string uri, WWWForm postData, Action <ULoginResult> callBack, Dictionary <string, string> headers) { using (UnityWebRequest www = UnityWebRequest.Post(uri, postData)) { if (headers != null && headers.Count > 0) { foreach (KeyValuePair <string, string> h in headers) { www.SetRequestHeader(h.Key, h.Value); } } yield return(www.SendWebRequest()); ULoginResult result = new ULoginResult(www); if (callBack != null) { callBack.Invoke(result); } } }
/// <summary> /// /// </summary> /// <returns></returns> IEnumerator LoginProcess(string user, string pass) { isRequesting = true; LoadingUI.SetActive(true); SetLogText(""); var formData = CreateForm(false, true); formData.AddSecureField("name", user); formData.AddSecureField("password", pass); formData.AddSecureField("authApp", "ulogin"); var credential = new CustomAuthCredentials() { UserName = user, UniqueID = pass, authenticationType = AuthenticationType.ULogin, }; using (UnityWebRequest www = UnityWebRequest.Post(bl_LoginProDataBase.Instance.GetUrl(bl_LoginProDataBase.URLType.Login), formData)) { //Wait for server response... yield return(www.SendWebRequest()); var response = new ULoginResult(www); if (bl_LoginProDataBase.Instance.FullLogs) { Debug.Log("Login Result: " + response.RawTextReadable); } //check if we have some error if (!response.isError) { if (ParseLoginData(response.RawTextReadable)) { //'Decompile' information from response LoginUserInfo info = new LoginUserInfo(); info.ParseFullData(loginUserData); info.IP = currentIP; #if CLANS info.Clan = new bl_ClanInfo(); info.Clan.GetSplitInfo(loginUserData); yield return(StartCoroutine(info.Clan.GetClanBasicInfo())); ClanButton.SetActive(true); #endif //send information to local database DataBase.OnLogin(info); LocalUserInfo = info; SignIn.OnLogin(info); DataBase.CacheAccessToken = pass; OnAuthenticated(credential, info); } else { //Some error with the server setup. if (bl_LoginProDataBase.Instance.FullLogs) { Debug.Log(response.RawTextReadable); } if (www.responseCode == 401)//wrong credentials { OnWrongCredentials(credential); } else { ErrorType(response.RawTextReadable); } } } else { if (www.responseCode == 401)//wrong credentials { OnWrongCredentials(credential); } else { response.PrintError(); } } } bl_ULoginLoadingWindow.Instance?.SetActive(false); LoadingUI.SetActive(false); isRequesting = false; }