/// <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()); }
/// <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); }
/// <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()); }