public override void Resume(StateExitValue results) { ShowUI(); if (results != null) { if (results.sourceState == typeof(WaitForTask)) { WaitForTask.Results taskResults = results.data as WaitForTask.Results; if (taskResults.task.IsFaulted) { manager.PushState(new BasicDialog("Could not create account.")); } else { if (!string.IsNullOrEmpty(dialogComponent.DisplayName.text)) { Firebase.Auth.UserProfile profile = new Firebase.Auth.UserProfile(); profile.DisplayName = dialogComponent.DisplayName.text; // We are fine with this happening in the background, // so just return to the previous state after triggering the update. auth.CurrentUser.UpdateUserProfileAsync(profile); } manager.PopState(); } } } }
public override void Resume(StateExitValue results) { ShowUI(); // SignInResult is used with a email/password, while WaitForTask.Results // is used when signing in with an anonymous account. SignInResult result = results.data as SignInResult; WaitForTask.Results taskResult = results.data as WaitForTask.Results; if ((result != null && !result.Canceled) || (taskResult != null && !taskResult.task.IsCanceled)) { if (auth.CurrentUser != null) { CommonData.isNotSignedIn = false; manager.PopState(); } else { manager.PushState(new BasicDialog( Utilities.StringHelper.SigninInFailureString(taskResult.task))); } } }
public override void Resume(StateExitValue results) { ShowUI(); if (results != null) { if (results.sourceState == typeof(WaitForTask)) { WaitForTask.Results taskResults = results.data as WaitForTask.Results; if (taskResults.task.IsFaulted) { manager.SwapState(new ManageAccount()); manager.PushState(new BasicDialog(StringConstants.DeleteAccountFail + taskResults.task.Exception.ToString())); } else { // Delete the user's profile data: string path = CommonData.DBUserTablePath + userId; FirebaseDatabase database = FirebaseDatabase.GetInstance(CommonData.app); // Delete all maps associated with this user: database.GetReference(path).SetValueAsync(null); foreach (MapListEntry map in CommonData.currentUser.data.maps) { path = CommonData.DBMapTablePath + map.mapId; database.GetReference(path).SetValueAsync(null); } manager.SwapState(new ChooseSignInMenu()); manager.PushState(new BasicDialog(StringConstants.DeleteAccountSuccess)); } } } }
public override void Resume(StateExitValue results) { InitializeUI(); if (results != null) { if (results.sourceState == typeof(WaitForTask)) { WaitForTask.Results taskResults = results.data as WaitForTask.Results; if (taskResults.task.IsFaulted) { manager.PushState(new BasicDialog( Utilities.StringHelper.SigninInFailureString(taskResults.task))); } } } }
public override void Resume(StateExitValue results) { ShowUI(); if (results != null) { WaitForTask.Results taskResults = results.data as WaitForTask.Results; if (taskResults != null && taskResults.task.IsFaulted) { manager.PushState(new BasicDialog( Utilities.StringHelper.SigninInFailureString(taskResults.task))); } else { manager.PopState(); } } }
public override void Resume(StateExitValue results) { CommonData.mainCamera.mode = CameraController.CameraMode.Gameplay; if (results != null) { if (results.sourceState == typeof(WaitForTask)) { WaitForTask.Results resultData = results.data as WaitForTask.Results; var task = resultData.task as System.Threading.Tasks.Task <List <TimeData> >; if (task != null) { DisplayTimes = task.Result; } } } InitializeUI(); }
public override void Resume(StateExitValue results) { ShowUI(); if (results != null) { if (results.sourceState == typeof(WaitForTask)) { WaitForTask.Results taskResults = results.data as WaitForTask.Results; if (taskResults.task.IsFaulted) { manager.SwapState(new BasicDialog(StringConstants.SignInPasswordResetError)); } else { manager.SwapState(new BasicDialog(string.Format( StringConstants.SignInPasswordReset, dialogComponent.Email.text))); } } } }
public override void Resume(StateExitValue results) { CommonData.mainCamera.mode = CameraController.CameraMode.Gameplay; if (results != null) { if (results.sourceState == typeof(WaitForTask)) { WaitForTask.Results resultData = results.data as WaitForTask.Results; if (resultData.task.IsFaulted) { Debug.LogException(resultData.task.Exception); manager.SwapState(new BasicDialog(StringConstants.UploadError)); return; } TimeUploaded = true; Firebase.Analytics.FirebaseAnalytics.LogEvent( StringConstants.AnalyticsEventTimeUploadFinished, StringConstants.AnalyticsParamMapId, CommonData.gameWorld.worldMap.mapId); // Show the top times for the level, highlighting which one was just uploaded. var task = resultData.task as System.Threading.Tasks.Task <List <UserScore> >; List <UserScore> times = null; if (task != null) { times = task.Result; } manager.SwapState(new TopTimes(times)); return; } } // This is a passthrough state, so if we are still the top, pop ourselves. if (manager.CurrentState() == this) { manager.PopState(); } }