From 49c6b177e33e7ec5506de7471d2ca0899dae16ad Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Fri, 20 Jul 2018 12:05:13 +0300 Subject: [PATCH] Added wrapper methods that check if user statistics are enabled to GameAnalyticsManager --- Barotrauma/BarotraumaClient/Source/GUI/GUI.cs | 9 ++---- .../Source/Screens/LobbyScreen.cs | 2 +- .../Source/Screens/MainMenuScreen.cs | 2 +- .../Source/Screens/NetLobbyScreen.cs | 2 +- .../Source/Screens/SubEditorScreen.cs | 2 +- .../Source/Characters/Character.cs | 2 +- .../Source/GameAnalyticsManager.cs | 30 +++++++++++++++++++ .../Source/GameSession/GameSession.cs | 19 +++++------- .../Source/Networking/GameServer.cs | 11 +++---- 9 files changed, 50 insertions(+), 29 deletions(-) diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs index 162a109f8..91d742630 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs @@ -214,12 +214,9 @@ namespace Barotrauma if (GameMain.GameSession != null) { - if (GameSettings.SendUserStatistics) - { - Mission mission = GameMain.GameSession.Mission; - GameAnalyticsSDK.Net.GameAnalytics.AddDesignEvent("QuitRound:" + (save ? "Save" : "NoSave")); - GameAnalyticsSDK.Net.GameAnalytics.AddDesignEvent("EndRound:" + (mission == null ? "NoMission" : (mission.Completed ? "MissionCompleted" : "MissionFailed"))); - } + Mission mission = GameMain.GameSession.Mission; + GameAnalyticsManager.AddDesignEvent("QuitRound:" + (save ? "Save" : "NoSave")); + GameAnalyticsManager.AddDesignEvent("EndRound:" + (mission == null ? "NoMission" : (mission.Completed ? "MissionCompleted" : "MissionFailed"))); GameMain.GameSession = null; } diff --git a/Barotrauma/BarotraumaClient/Source/Screens/LobbyScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/LobbyScreen.cs index 41ce03dfd..a8df21efa 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/LobbyScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/LobbyScreen.cs @@ -88,7 +88,7 @@ namespace Barotrauma campaignUI.OnLocationSelected = SelectLocation; campaignUI.UpdateCharacterLists(); - if (GameSettings.SendUserStatistics) GameAnalyticsSDK.Net.GameAnalytics.SetCustomDimension01("singleplayer"); + GameAnalyticsManager.SetCustomDimension01("singleplayer"); } public override void AddToGUIUpdateList() diff --git a/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs index 6785b2c01..f375ee30d 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs @@ -143,7 +143,7 @@ namespace Barotrauma SelectTab(null, 0); - if (GameSettings.SendUserStatistics) GameAnalyticsSDK.Net.GameAnalytics.SetCustomDimension01(""); + GameAnalyticsManager.SetCustomDimension01(""); } public bool SelectTab(GUIButton button, object obj) diff --git a/Barotrauma/BarotraumaClient/Source/Screens/NetLobbyScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/NetLobbyScreen.cs index 0f9b9ad1b..dbc53fa2f 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/NetLobbyScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/NetLobbyScreen.cs @@ -501,7 +501,7 @@ namespace Barotrauma } } - if (GameSettings.SendUserStatistics) GameAnalyticsSDK.Net.GameAnalytics.SetCustomDimension01("multiplayer"); + GameAnalyticsManager.SetCustomDimension01("multiplayer"); if (GameModePreset.list.Count > 0 && modeList.Selected == null) modeList.Select(0); diff --git a/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs index 12659034f..c5d6d6bff 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs @@ -349,7 +349,7 @@ namespace Barotrauma cam.UpdateTransform(); - if (GameSettings.SendUserStatistics) GameAnalyticsSDK.Net.GameAnalytics.SetCustomDimension01("editor"); + GameAnalyticsManager.SetCustomDimension01("editor"); } public override void Deselect() diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Character.cs b/Barotrauma/BarotraumaShared/Source/Characters/Character.cs index dbf3e7e0c..1242b7aa6 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Character.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Character.cs @@ -1960,7 +1960,7 @@ namespace Barotrauma characterType = "Enemy"; else if (AIController is HumanAIController) characterType = "AICrew"; - GameAnalyticsSDK.Net.GameAnalytics.AddDesignEvent("Kill:" + characterType + ":" + SpeciesName + ":" + causeOfDeath); + GameAnalyticsManager.AddDesignEvent("Kill:" + characterType + ":" + SpeciesName + ":" + causeOfDeath); } if (OnDeath != null) OnDeath(this, causeOfDeath); diff --git a/Barotrauma/BarotraumaShared/Source/GameAnalyticsManager.cs b/Barotrauma/BarotraumaShared/Source/GameAnalyticsManager.cs index e96489c16..28eb2d335 100644 --- a/Barotrauma/BarotraumaShared/Source/GameAnalyticsManager.cs +++ b/Barotrauma/BarotraumaShared/Source/GameAnalyticsManager.cs @@ -62,5 +62,35 @@ namespace Barotrauma GameAnalytics.AddErrorEvent(errorSeverity, message); sentEventIdentifiers.Add(identifier); } + + public static void AddDesignEvent(string eventID) + { + if (!GameSettings.SendUserStatistics) return; + GameAnalytics.AddDesignEvent(eventID); + } + + public static void AddDesignEvent(string eventID, double value) + { + if (!GameSettings.SendUserStatistics) return; + GameAnalytics.AddDesignEvent(eventID, value); + } + + public static void AddProgressionEvent(EGAProgressionStatus progressionStatus, string progression01) + { + if (!GameSettings.SendUserStatistics) return; + GameAnalytics.AddProgressionEvent(progressionStatus, progression01); + } + + public static void AddProgressionEvent(EGAProgressionStatus progressionStatus, string progression01, string progression02) + { + if (!GameSettings.SendUserStatistics) return; + GameAnalytics.AddProgressionEvent(progressionStatus, progression01, progression02); + } + + public static void SetCustomDimension01(string dimension) + { + if (!GameSettings.SendUserStatistics) return; + GameAnalytics.SetCustomDimension01(dimension); + } } } diff --git a/Barotrauma/BarotraumaShared/Source/GameSession/GameSession.cs b/Barotrauma/BarotraumaShared/Source/GameSession/GameSession.cs index ef9c4f3fb..61394b4c6 100644 --- a/Barotrauma/BarotraumaShared/Source/GameSession/GameSession.cs +++ b/Barotrauma/BarotraumaShared/Source/GameSession/GameSession.cs @@ -234,13 +234,11 @@ namespace Barotrauma campaign.CargoManager.CreateItems(); } } - - if (GameSettings.SendUserStatistics) - { - GameAnalyticsSDK.Net.GameAnalytics.AddDesignEvent("Submarine:" + submarine.Name); - GameAnalyticsSDK.Net.GameAnalytics.AddProgressionEvent(GameAnalyticsSDK.Net.EGAProgressionStatus.Start, + + GameAnalyticsManager.AddDesignEvent("Submarine:" + submarine.Name); + GameAnalyticsManager.AddProgressionEvent(GameAnalyticsSDK.Net.EGAProgressionStatus.Start, GameMode.Name, (Mission == null ? "None" : Mission.GetType().ToString())); - } + #if CLIENT roundSummary = new RoundSummary(this); @@ -253,11 +251,10 @@ namespace Barotrauma public void EndRound(string endMessage) { if (Mission != null) Mission.End(); - if (GameSettings.SendUserStatistics) - { - GameAnalyticsSDK.Net.GameAnalytics.AddProgressionEvent((Mission == null || Mission.Completed) ? GameAnalyticsSDK.Net.EGAProgressionStatus.Complete : GameAnalyticsSDK.Net.EGAProgressionStatus.Fail, - GameMode.Name, (Mission == null ? "None" : Mission.GetType().ToString())); - } + GameAnalyticsManager.AddProgressionEvent( + (Mission == null || Mission.Completed) ? GameAnalyticsSDK.Net.EGAProgressionStatus.Complete : GameAnalyticsSDK.Net.EGAProgressionStatus.Fail, + GameMode.Name, + (Mission == null ? "None" : Mission.GetType().ToString())); #if CLIENT if (roundSummary != null) diff --git a/Barotrauma/BarotraumaShared/Source/Networking/GameServer.cs b/Barotrauma/BarotraumaShared/Source/Networking/GameServer.cs index 60b587a89..a0da30a20 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/GameServer.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/GameServer.cs @@ -209,7 +209,7 @@ namespace Barotrauma.Networking GameMain.NetLobbyScreen.RandomizeSettings(); started = true; - if (GameSettings.SendUserStatistics) GameAnalyticsSDK.Net.GameAnalytics.AddDesignEvent("GameServer:Start"); + GameAnalyticsManager.AddDesignEvent("GameServer:Start"); yield return CoroutineStatus.Success; } @@ -1370,7 +1370,7 @@ namespace Barotrauma.Networking } } - if (GameSettings.SendUserStatistics) GameAnalyticsSDK.Net.GameAnalytics.AddDesignEvent("Traitors:" + (TraitorManager == null ? "Disabled" : "Enabled")); + GameAnalyticsManager.AddDesignEvent("Traitors:" + (TraitorManager == null ? "Disabled" : "Enabled")); SendStartMessage(roundStartSeed, Submarine.MainSub, GameMain.GameSession.GameMode.Preset, connectedClients); @@ -2249,11 +2249,8 @@ namespace Barotrauma.Networking Log("Shutting down the server...", ServerLog.MessageType.ServerMessage); log.Save(); } - - if (GameSettings.SendUserStatistics) - { - GameAnalyticsSDK.Net.GameAnalytics.AddDesignEvent("GameServer:ShutDown"); - } + + GameAnalyticsManager.AddDesignEvent("GameServer:ShutDown"); server.Shutdown("The server has been shut down"); } }