Browse Source

Add --playermetrics

Josh Engebretson 9 years ago
parent
commit
13deafa6a3

+ 19 - 1
Source/AtomicApp/Player/PlayerApp.cpp

@@ -26,6 +26,8 @@
 #include <Atomic/Graphics/Graphics.h>
 #include <Atomic/Resource/ResourceMapRouter.h>
 #include <Atomic/UI/UI.h>
+#include <Atomic/Metrics/Metrics.h>
+
 #include <AtomicJS/Javascript/Javascript.h>
 
 #include <AtomicPlayer/Player.h>
@@ -42,7 +44,8 @@ namespace Atomic
 
     PlayerApp::PlayerApp(Context* context) :
         AppBase(context),
-        executeJSMain_(true)
+        executeJSMain_(true),
+        playerMetrics_(false)
     {
 
     }
@@ -113,6 +116,17 @@ namespace Atomic
 
         AppBase::Start();
 
+        if (playerMetrics_)
+        {
+            Metrics* metrics = GetSubsystem<Metrics>();
+
+            if (metrics && !metrics->GetEnabled())
+            {
+                metrics->Enable();
+            }
+
+        }
+
         if (executeJSMain_)
         {
 
@@ -172,6 +186,10 @@ namespace Atomic
                 {
                     engineParameters_["WindowMaximized"] = true;
                 }
+                else if (argument == "--playermetrics")
+                {
+                    playerMetrics_ = true;
+                }
             }
         }
     }

+ 2 - 0
Source/AtomicApp/Player/PlayerApp.h

@@ -51,6 +51,8 @@ namespace Atomic
 
     private:
 
+        bool playerMetrics_;
+
     };
 
 }

+ 13 - 0
Source/AtomicEditor/EditorMode/AEEditorMode.cpp

@@ -268,6 +268,19 @@ bool EditorMode::PlayProjectInternal(const String &addArgs, bool debug)
     {
         vargs.Insert(0, "--autometrics");
     }
+    else
+    {
+        // enabled metrics at app start
+
+        SystemUI::DebugHud* debugHud = GetSubsystem<SystemUI::DebugHud>();
+
+        if ( debugHud && ( debugHud->GetMode() & Atomic::SystemUI::DEBUGHUD_SHOW_PROFILER) && (debugHud->GetProfilerMode() == DEBUG_HUD_PROFILE_METRICS))
+        {
+            vargs.Insert(0, "--playermetrics");
+        }
+
+    }
+
     if (addArgs.Length() > 0)
         vargs.Insert(0, addArgs.Split(' '));