ソースを参照

Merge pull request #263 from alexparlett/feature/editor-debug-hierachy

Editor Hierarchy Debug Rendering
Lasse Öörni 11 年 前
コミット
c93591f1d9
1 ファイル変更11 行追加13 行削除
  1. 11 13
      Bin/Data/Scripts/Editor/EditorView.as

+ 11 - 13
Bin/Data/Scripts/Editor/EditorView.as

@@ -1307,19 +1307,7 @@ void HandlePostRenderUpdate()
 
     // Visualize the currently selected nodes as their local axes + the first drawable component
     for (uint i = 0; i < selectedNodes.length; ++i)
-    {
-        Node@ node = selectedNodes[i];
-        debug.AddNode(node, 1.0, false);
-        for (uint j = 0; j < node.numComponents; ++j)
-        {
-            Drawable@ drawable = cast<Drawable>(node.components[j]);
-            if (drawable !is null)
-            {
-                drawable.DrawDebugGeometry(debug, false);
-                break;
-            }
-        }
-    }
+        DrawNodeDebug(selectedNodes[i], debug);
 
     // Visualize the currently selected components
     for (uint i = 0; i < selectedComponents.length; ++i)
@@ -1346,6 +1334,16 @@ void HandlePostRenderUpdate()
     ViewRaycast(false);
 }
 
+void DrawNodeDebug(Node@ node, DebugRenderer@ debug)
+{
+    debug.AddNode(node, 1.0, false);
+    for (uint j = 0; j < node.numComponents; ++j)
+        node.components[j].DrawDebugGeometry(debug, false);
+    
+    for (uint k = 0; k < node.numChildren; ++k)
+        DrawNodeDebug(node.children[k], debug);
+}
+
 void ViewMouseMove()
 {
     // setting mouse position based on mouse position