Esempio n. 1
0
        /// <summary>
        /// Logs the game result.
        /// </summary>
        /// <param name="result">Result.</param>
        /// <param name="rating">Rating.</param>
        /// <param name="multiplayer">If set to <c>true</c> multiplayer.</param>
        private static void LogGameResult(string result, int rating, bool multiplayer)
        {
            // MenuController.ConfigToLoad won't get set while testing specific games in editor
            if (MenuController.ConfigToLoad == null)
            {
                return;
            }

            PillarConfig    config = MenuController.ConfigToLoad;
            ActionAnalytics action = new ActionAnalytics(result,
                                                         GameModeFromConfig(config) + result,
                                                         config.PillarNumber,
                                                         rating.ToString(),
                                                         multiplayer ? "multiplayer" : "single_player",
                                                         MenuController.DifficultyToLoad.ToString(),
                                                         config.ContextForAnalytics());

            string stepName = result;

            if (config.Game == Game.Assault || config.Game == Game.Duel)
            {
                // difficulty is only used for Duel and Assault. Not for Holochess and Tower Defense.
                stepName += "_" + MenuController.DifficultyToLoad.ToString();
            }
            TimingAnalytics timingAction = new TimingAnalytics((int)(UnityEngine.Time.time - timeGameStarted),
                                                               GameModeFromConfig(config).TrimEnd('.'),
                                                               config.ContextForAnalytics(),
                                                               config.PillarNumber,
                                                               stepName);

            Analytics.LogAction(action);
            Analytics.LogTimingAction(timingAction);
            LogToConsole("LogGameResult: " + result + " " + rating.ToString());
        }
Esempio n. 2
0
        /// <summary>
        /// Logs unlocking a pawn / force power, etc.
        /// </summary>
        /// <param name="unlock">Unlock.</param>
        /// <param name="multiplayer">If set to <c>true</c> multiplayer.</param>
        public static void LogUnlock(string unlock, bool multiplayer = false)
        {
            PillarConfig config = MenuController.ConfigToLoad;

            if (config == null)
            {
                return;
            }

            ActionAnalytics action = new ActionAnalytics("unit_unlocked",
                                                         GameModeFromConfig(config) + "unit_unlocked",
                                                         config.PillarNumber,
                                                         unlock,
                                                         multiplayer ? "multiplayer" : "single_player",
                                                         MenuController.DifficultyToLoad.ToString(),
                                                         config.ContextForAnalytics());

            Analytics.LogAction(action);
            LogToConsole("LogUnlock: " + unlock);
        }
Esempio n. 3
0
        /// <summary>
        /// Logs a game starting or restarting.
        /// </summary>
        /// <param name="restart">Whether the game is starting normally, or restarting via "restart" in the pause menu.</param>
        /// <param name="multiplayer">If set to <c>true</c> multiplayer.</param>
        private static void LogGameStartOrRestart(bool restart, bool multiplayer)
        {
            // MenuController.ConfigToLoad won't get set while testing specific games in editor
            if (MenuController.ConfigToLoad == null)
            {
                return;
            }

            PillarConfig    config = MenuController.ConfigToLoad;
            ActionAnalytics action = new ActionAnalytics("game_start",
                                                         GameModeFromConfig(config) + "game_start",
                                                         config.PillarNumber,
                                                         restart ? "retry" : null,
                                                         multiplayer ? "multiplayer" : "single_player",
                                                         MenuController.DifficultyToLoad.ToString(),
                                                         config.ContextForAnalytics());

            timeGameStarted = UnityEngine.Time.time;
            Analytics.LogAction(action);
            LogToConsole("LogGameStartOrRestart: restart=" + restart.ToString());
        }