Browse Source

Disable play button during AtomicNET builds

Josh Engebretson 9 years ago
parent
commit
74c65fd8d1

+ 11 - 0
Script/AtomicEditor/ui/MainToolbar.ts

@@ -76,10 +76,21 @@ class MainToolbar extends Atomic.UIWidget {
             var skin = <Atomic.UISkinImage> this.pauseButton.getWidget("skin_image");
             skin.setSkinBg("PlayButton");
         });
+
         this.subscribeToEvent(EditorEvents.PlayerResumed, (data) => {
             var skin = <Atomic.UISkinImage> this.pauseButton.getWidget("skin_image");
             skin.setSkinBg("PauseButton");
         });
+
+        // TODO: We need better control over playmode during NET compiles
+        this.subscribeToEvent("NETBuildBegin", (data) => {
+            this.playButton.disable();
+        });
+
+        this.subscribeToEvent("NETBuildResult", (data) => {
+            this.playButton.enable();
+        });
+
     }
 
     handleGizmoAxisModeChanged(ev: Editor.GizmoAxisModeChangedEvent) {

+ 4 - 0
Source/ToolCore/NETTools/NETBuildSystem.cpp

@@ -356,6 +356,10 @@ namespace ToolCore
                 return;
             }
 
+            VariantMap buildBeginEventData;
+            buildBeginEventData[NETBuildBegin::P_BUILD] = curBuild_;
+            SendEvent(E_NETBUILDBEGIN, buildBeginEventData);
+
             SubscribeToEvent(subprocess, E_SUBPROCESSCOMPLETE, ATOMIC_HANDLER(NETBuildSystem, HandleCompileProcessComplete));
             SubscribeToEvent(subprocess, E_SUBPROCESSOUTPUT, ATOMIC_HANDLER(NETBuildSystem, HandleSubprocessOutput));
 

+ 4 - 0
Source/ToolCore/NETTools/NETBuildSystem.h

@@ -28,6 +28,10 @@ using namespace Atomic;
 
 namespace ToolCore
 {
+    ATOMIC_EVENT(E_NETBUILDBEGIN, NETBuildBegin)
+    {
+        ATOMIC_PARAM(P_BUILD, Build); // NETBuild*
+    }
 
     ATOMIC_EVENT(E_NETBUILDRESULT, NETBuildResult)
     {