public void LogHandledExceptionTest() { TestHelpers.StartApp(); Crittercism.LeaveBreadcrumb("HandledExceptionBreadcrumb"); Crittercism.SetValue("favoriteFood", "Texas Sheet Cake"); TestHelpers.Cleanup(); // drop all previous messages TestHelpers.LogHandledException(); MessageReport messageReport = TestHelpers.DequeueMessageType(typeof(HandledException)); Assert.IsNotNull(messageReport, "Expected a HandledException message"); String asJson = JsonConvert.SerializeObject(messageReport); Trace.WriteLine("asJson == " + asJson); TestHelpers.CheckJsonLegacy(asJson); string[] jsonStrings = new string[] { "\"breadcrumbs\":", "\"current_session\":", "\"message\":\"session_start\"", "\"metadata\":{", "\"favoriteFood\":\"Texas Sheet Cake\"" }; foreach (String jsonFragment in jsonStrings) { Trace.WriteLine("jsonFragment == " + jsonFragment); Trace.WriteLine("asJson.Contains(jsonFragment) == " + asJson.Contains(jsonFragment)); Assert.IsTrue(asJson.Contains(jsonFragment)); } ; }
private void model_PartChanged(int slotIndex, int partIndex, AvatarModel.Part oldPart, AvatarModel.Part newPart) { string arg = Model.Definition.Slots[slotIndex].Name; string arg2 = AvatarDefinition.PartTypeStrings[partIndex]; string key = $"{base.gameObject.name}.{arg}.{arg2}"; string value = ((newPart != null && newPart.Equipment != null) ? newPart.Equipment.Name : string.Empty); Crittercism.SetValue(key, value); }
private void checkIfZoneTransitionComplete() { if (!IsTransitioning && !IsConnecting) { TransitionState = ZoneTransitionEvents.ZoneTransition.States.Done; Crittercism.SetValue("previousZone", PreviousZone.SceneName); Crittercism.SetValue("currentZone", CurrentZone.SceneName); Crittercism.LeaveBreadcrumb($"Transitioned zone from '{PreviousZone.SceneName}' to '{CurrentZone.SceneName}'"); if (CurrentZone.Type == ZoneDefinition.ZoneType.Igloo) { checkIglooSceneStateDataExists(); } dispatcher.DispatchEvent(new ZoneTransitionEvents.ZoneTransition(PreviousZone.SceneName, CurrentZone.SceneName, ZoneTransitionEvents.ZoneTransition.States.Done)); Service.Get <LoadingController>().RemoveLoadingSystem(this); isCancelled = false; } }
private void RefreshData(CurrentPlayer player) { Crittercism.SetUsername(player.PlayerId); SquadController squadController = Service.SquadController; if (squadController != null) { Squad currentSquad = squadController.StateManager.GetCurrentSquad(); if (currentSquad != null) { Crittercism.SetValue("guildId", currentSquad.SquadID); } else { Crittercism.SetValue("guildId", string.Empty); } } Crittercism.SetValue("isPayer", (player.LastPaymentTime <= 0u) ? "False" : "True"); Crittercism.SetValue("faction", player.Faction.ToString()); if (player.AbTests != null) { StringBuilder stringBuilder = new StringBuilder(); foreach (KeyValuePair <string, object> current in player.AbTests) { stringBuilder.Append(current.Key); stringBuilder.Append(","); } string value = stringBuilder.ToString(); Crittercism.SetValue("ABtests", value); } Crittercism.SetValue("HQLevel", player.Map.FindHighestHqLevel().ToString()); TargetedBundleController targetedBundleController = Service.TargetedBundleController; if (targetedBundleController != null) { string value2 = (targetedBundleController.CurrentTargetedOffer == null) ? "null" : targetedBundleController.CurrentTargetedOffer.Uid; Crittercism.SetValue("SPDAvailable", value2); } EventManager eventManager = Service.EventManager; eventManager.RegisterObserver(this, EventId.PlayerIdSet); eventManager.RegisterObserver(this, EventId.PlayerFactionChanged); eventManager.RegisterObserver(this, EventId.SquadUpdated); eventManager.RegisterObserver(this, EventId.MetaDataLoadEnd); eventManager.RegisterObserver(this, EventId.TargetedBundleContentPrepared); }
public void MetadataPersistenceTest() { try { TestHelpers.StartApp(); Crittercism.SetUsername("harry"); Crittercism.SetValue("surname", "hedwig"); Trace.WriteLine("surname == " + Crittercism.ValueFor("surname")); Assert.AreEqual(Crittercism.ValueFor("surname"), "hedwig"); Assert.AreEqual(Crittercism.ValueFor("username"), "harry"); Crittercism.SetUsername("hermione"); Crittercism.SetValue("surname", "crookshanks"); Assert.AreEqual(Crittercism.ValueFor("surname"), "crookshanks"); Assert.AreEqual(Crittercism.ValueFor("username"), "hermione"); } finally { Crittercism.Shutdown(); TestHelpers.Cleanup(); } }
private IEnumerator loadScene(string scene, string transitionScene, Dictionary <string, object> sceneArgs, bool allowActivation) { stopCurrentRoomTimer(); startJoinRoomBI(scene); yield return(splashScreenController.LoadSplashScreen(scene, sceneArgs)); prepareForSceneTransition(scene, transitionScene, sceneArgs); yield return(loadTransitionScene(transitionScene)); yield return(cleanupPreviousScene()); scene = checkTransitionCancelled(scene); yield return(loadSceneAudioPrefab(scene)); if (!isCancelRequested) { yield return(loadTargetScene(scene, allowActivation)); } if (isCancelRequested) { IsTransitioning = false; dispatcher.DispatchEvent(new SceneTransitionEvents.SetIsTransitioningFlag(isTransitioning: false)); stopJoinRoomBI(scene, "failure"); LoadScene(cancellationScene, "Loading"); } else if (isHardCancelRequested) { IsTransitioning = false; dispatcher.DispatchEvent(new SceneTransitionEvents.SetIsTransitioningFlag(isTransitioning: false)); stopJoinRoomBI(scene, "failure"); } else { Crittercism.SetValue("previousScene", currentScene); Crittercism.SetValue("currentScene", scene); Crittercism.LeaveBreadcrumb($"Transitioned scene from '{currentScene}' to '{scene}'"); currentScene = scene; startLoggingTargetScene(); stopJoinRoomBI(scene, "success"); } }