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);
        }
Esempio n. 3
0
 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;
     }
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
 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");
            }
        }