Procházet zdrojové kódy

Merge pull request #2434 from abow/playground

keep PG debug layer open after pressing run
David Catuhe před 8 roky
rodič
revize
8ce52bca93

+ 32 - 0
Playground/js/index.js

@@ -291,6 +291,30 @@
                     return;
                 }
 
+                var showInspector = false;
+                var showDebugLayer = false;
+                var initialTabIndex = 0;
+
+                if(document.getElementsByClassName('insp-wrapper').length > 0){                  
+                    for(let i = 0; i < engine.scenes.length; i++){
+                        if(engine.scenes[i]._debugLayer){
+                            //TODO: once inspector is updated on netlify, use getActiveTabIndex instead of the following loop
+                            //initialTabIndex = engine.scenes[i]._debugLayer._inspector.getActiveTabIndex();
+                            var tabs = engine.scenes[i]._debugLayer._inspector._tabbar._tabs;
+                            for(var j = 0; j < tabs.length; j++){
+                                if(tabs[j].isActive()){
+                                    initialTabIndex = j;
+                                    break;
+                                }
+                            }
+                            break;
+                        }
+                    }
+                    showInspector = true;
+                }else if(document.getElementById('DebugLayer')){
+                    showDebugLayer = true;
+                }
+
                 if (engine) {
                     engine.dispose();
                     engine = null;
@@ -371,6 +395,14 @@
                     document.getElementById("statusBar").innerHTML = "";
                 });
 
+                if(scene){
+                    if(showInspector){
+                        scene.debugLayer.show({initialTab:initialTabIndex});
+                    }else if(showDebugLayer){
+                        scene.debugLayer.show();
+                    }
+                }
+
             } catch (e) {
                 showError(e.message, e);
             }

+ 4 - 0
inspector/src/Inspector.ts

@@ -390,5 +390,9 @@ module INSPECTOR {
                 });
             }
         }
+
+        public getActiveTabIndex():number {
+           return this._tabbar.getActiveTabIndex();
+        }
     }
 }

+ 9 - 0
inspector/src/tabs/TabBar.ts

@@ -145,6 +145,15 @@ module INSPECTOR {
             }
         }
 
+        public getActiveTabIndex(): number {
+            for (let i = 0; i < this._tabs.length; i++) {
+                if(this._tabs[i].isActive()){
+                    return i;
+                }
+            }
+            return 0;
+        }
+
         public get inspector(): Inspector {
             return this._inspector;
         }