2
0
Эх сурвалжийг харах

Shortcuts for hide, show all, isolate, select siblings on shift+click

trethaller 7 жил өмнө
parent
commit
d60dfe016b

+ 3 - 0
bin/defaultProps.json

@@ -34,6 +34,9 @@
 	// Scene editor config
 	// Scene editor config
 	"key.sceneeditor.focus": "F",
 	"key.sceneeditor.focus": "F",
 	"key.sceneeditor.lasso": "L",
 	"key.sceneeditor.lasso": "L",
+	"key.sceneeditor.hide": "H",
+	"key.sceneeditor.showAll": "Ctrl-H",
+	"key.sceneeditor.isolate": "I",
 
 
 	// cdb config
 	// cdb config
 
 

+ 8 - 2
hide/comp/SceneEditor.hx

@@ -126,6 +126,9 @@ class SceneEditor {
 		});
 		});
 		view.keys.register("sceneeditor.focus", focusCamOnSelection);
 		view.keys.register("sceneeditor.focus", focusCamOnSelection);
 		view.keys.register("sceneeditor.lasso", startLassoSelect);
 		view.keys.register("sceneeditor.lasso", startLassoSelect);
+		view.keys.register("sceneeditor.hide", function() {	setVisible(curEdit.elements, false); });
+		view.keys.register("sceneeditor.isolate", function() {	isolate(curEdit.elements); });
+		view.keys.register("sceneeditor.showAll", function() {	setVisible(context.shared.elements(), true); });
 	}
 	}
 
 
 	public function getSelection() {
 	public function getSelection() {
@@ -331,6 +334,9 @@ class SceneEditor {
 						selectObjects(list);
 						selectObjects(list);
 					}
 					}
 				}
 				}
+				else if(K.isDown(K.SHIFT)) {
+					selectObjects(elt.parent.children);
+				}
 				else {
 				else {
 					selectObjects([elt]);
 					selectObjects([elt]);
 				}
 				}
@@ -496,7 +502,7 @@ class SceneEditor {
 						continue;
 						continue;
 					var ctx = contexts[elt];
 					var ctx = contexts[elt];
 					var o = ctx.local3d;
 					var o = ctx.local3d;
-					if(o == null)
+					if(o == null || !o.visible)
 						continue;
 						continue;
 					var absPos = o.getAbsPos();
 					var absPos = o.getAbsPos();
 					var screenPos = worldToScreen(absPos.tx, absPos.ty, absPos.tz);
 					var screenPos = worldToScreen(absPos.tx, absPos.ty, absPos.tz);
@@ -741,7 +747,7 @@ class SceneEditor {
 	}
 	}
 
 
 	public function selectAll() {
 	public function selectAll() {
-		selectObjects([for(e in context.shared.contexts.keys()) e]);
+		selectObjects(context.shared.elements());
 	}
 	}
 
 
 	public function deselect() {
 	public function deselect() {

+ 4 - 0
hide/prefab/Context.hx

@@ -15,6 +15,10 @@ class ContextShared {
 		cleanups = [];
 		cleanups = [];
 	}
 	}
 
 
+	public function elements() {
+		return [for(e in contexts.keys()) e];
+	}
+
 }
 }
 
 
 class Context {
 class Context {