public void Logout() { KeepTitleMusic(); PersistBackground(); PersistToDeviceHelper.SetCurrentLogin(null); StartCoroutine(LoadDelayed(SceneNames.LOGIN)); }
private IEnumerator UpdateScore() { var worked = false; while (!worked) { if (m_txtSendStatus != null) { m_txtSendStatus.enabled = true; m_txtSendStatus.text = "Sending Score to Server..."; } if (m_loadingSpinner != null) { m_loadingSpinner.SetActive(true); } using (var request = UnityWebRequest.Get(AuthConfig.ApiServerRoot + "api/update-highscore?score=" + AuthController.CurrentAuthToken.user.bestScore)) { request.SetRequestHeader("Authorization", "Bearer " + AuthController.CurrentAuthToken.authToken); yield return(request.SendWebRequest()); if (request.isNetworkError || request.isHttpError) { Debug.Log(request.error); } else { var jwt = request.downloadHandler.text; var loginResponse = JsonUtility.FromJson <LoginResponse>(jwt); PersistToDeviceHelper.SetCurrentLogin(loginResponse); AuthController.CurrentAuthToken = loginResponse; worked = true; } } if (m_loadingSpinner != null) { m_loadingSpinner.SetActive(false); } if (!worked && m_txtSendStatus != null) { m_txtSendStatus.text = "Failed to update score on server."; yield return(new WaitForSeconds(15)); } } if (m_txtSendStatus != null) { m_txtSendStatus.enabled = false; } StartCoroutine(GetRank()); }
public IEnumerator TryLogIn(string username, string password) { txtUsername.enabled = false; txtPassword.enabled = false; btnLogIn.enabled = false; bool loggedIn = false; var formFields = new Dictionary <string, string>(); formFields.Add("username", username); formFields.Add("password", password); using (var request = UnityWebRequest.Post(AuthConfig.ApiServerRoot + "login", formFields)) { yield return(request.SendWebRequest()); if (request.isNetworkError || request.isHttpError) { Debug.Log(request.error); } else { var jwt = request.downloadHandler.text; var loginResponse = JsonUtility.FromJson <LoginResponse>(jwt); PersistToDeviceHelper.SetCurrentLogin(loginResponse); CurrentAuthToken = loginResponse; loggedIn = true; } } if (!loggedIn) { errorText.text = "Failed to log in. Try again."; txtUsername.enabled = true; txtPassword.enabled = true; btnLogIn.enabled = true; loadingIcon.SetActive(false); yield break; } MoveToTitle(); }
private IEnumerator Preload() { bool loggedIn = false; var currentLogin = PersistToDeviceHelper.GetCurrentLogin(); if (currentLogin != null) { var formFields = new Dictionary <string, string>(); formFields.Add("authToken", currentLogin.authToken); using (var request = UnityWebRequest.Post(AuthConfig.ApiServerRoot + "verify-token", formFields)) { yield return(request.SendWebRequest()); if (request.isNetworkError || request.isHttpError) { Debug.Log(request.error); } else { var jwt = request.downloadHandler.text; var loginResponse = JsonUtility.FromJson <LoginResponse>(jwt); PersistToDeviceHelper.SetCurrentLogin(loginResponse); AuthController.CurrentAuthToken = loginResponse; loggedIn = true; } } } if (!loggedIn) { //Fire and forget UnityWebRequest.Post(AuthConfig.ApiServerRoot + "poke", new Dictionary <string, string>()).SendWebRequest(); //Navigate to login screen MoveToLoginScreen(); yield break; } MoveToTitle(); }