Sfoglia il codice sorgente

Updates to Hierarchy frame's create menu

Josh Engebretson 10 anni fa
parent
commit
8f8d17507b

+ 1 - 1
Data/AtomicEditor/ProjectTemplates/Project3D/Resources/Scenes/Scene.scene

@@ -52,7 +52,7 @@
 		<attribute name="Scale" value="1 1 1" />
 		<attribute name="Variables" />
 		<component type="Camera" id="1973">
-			<attribute name="FOV" value="90" />
+			<attribute name="FOV" value="45" />
 		</component>
 	</node>
 </scene>

+ 4 - 9
Script/AtomicEditor/ui/HierarchyFrame.ts

@@ -200,18 +200,13 @@ class HierarchyFrame extends Atomic.UIWidget {
 
             var id = data.target.id;
 
-            if (this.menu.handlePopupMenu(data.target, data.refid))
-                return true;
-
             if (id == "create popup") {
 
-                if (data.refid == "create_node") {
-
-                    var selectedId = Number(this.hierList.rootList.selectedItemID);
-                    var node = this.scene.getNode(selectedId);
-                    node.createChild("Node");
+                var selectedId = Number(this.hierList.rootList.selectedItemID);
+                var node = this.scene.getNode(selectedId);
 
-                }
+                if (this.menu.handlePopupMenu(data.target, data.refid, node))
+                    return true;
 
             }
 

+ 36 - 1
Script/AtomicEditor/ui/HierarchyFrameMenu.ts

@@ -18,10 +18,45 @@ class HierarchyFrameMenus extends Atomic.ScriptObject {
 
     }
 
-    handlePopupMenu(target: Atomic.UIWidget, refid: string): boolean {
+    handlePopupMenu(target: Atomic.UIWidget, refid: string, node: Atomic.Node): boolean {
 
         if (!target || !refid) return;
 
+        if (target.id == "create popup") {
+
+            var child:Atomic.Node;
+
+            if (refid == "create_node") {
+
+                if (node) {
+
+                    child = node.createChild("Node");
+
+                }
+
+            }
+
+            else if (refid == "create_light") {
+
+                if (node) {
+
+                    child = node.createChild("Light");
+                    child.createComponent("Light");
+
+                }
+
+            }
+
+            if (child) {
+
+              this.sendEvent(EditorEvents.ActiveNodeChange, { node: child });
+
+            }
+
+            return true;
+
+        }
+
         return false;
 
     }

+ 2 - 0
Script/AtomicEditor/ui/ProjectFrame.ts

@@ -299,6 +299,8 @@ class ProjectFrame extends ScriptWidget {
 
         this.folderList.rootList.value = 0;
         this.folderList.setExpanded(this.resourcesID, true);
+        this.sendEvent(EditorEvents.ContentFolderChanged, { path: ToolCore.toolSystem.project.resourcePath });
+
 
     }