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

Level3D: usability improvements and fixes

trethaller 7 жил өмнө
parent
commit
1139f5972d

+ 1 - 1
hide/comp/SceneEditor.hx

@@ -80,7 +80,7 @@ class SceneEditor {
 	public var scene : hide.comp.Scene;
 	public var properties : hide.comp.PropsEditor;
 	public var curEdit(default, null) : SceneEditorContext;
-	public var snapToGround = true;
+	public var snapToGround = false;
 
 	var searchBox : Element;
 

+ 2 - 1
hide/prefab/Prefab.hx

@@ -100,7 +100,8 @@ class Prefab {
 		var p = Type.createInstance(pcl, [parent]);
 		p.type = v.type;
 		p.name = v.name;
-		p.props = v.props;
+		if(v.props != null)
+			p.props = Reflect.copy(v.props);  // TODO: Recursive?
 		if( v.source != null )
 			p.source = v.source;
 		p.load(v);

+ 2 - 1
hide/prefab/l3d/Polygon.hx

@@ -14,7 +14,8 @@ class Polygon extends Object3D {
 	
 	override function save() {
 		var obj : Dynamic = super.save();
-		obj.data = data;
+		if(data != null)
+			obj.data = data;
 		return obj;
 	}
 

+ 1 - 1
hide/view/l3d/Level3D.hx

@@ -140,7 +140,7 @@ private class Level3DSceneEditor extends hide.comp.SceneEditor {
 		function setup(p : PrefabElement) {
 			var proj = screenToWorld(scene.s2d.width/2, scene.s2d.height/2);
 			var obj3d = p.to(hide.prefab.Object3D);
-			if(proj != null && obj3d != null) {
+			if(proj != null && obj3d != null && p.to(hide.prefab.l3d.Layer) == null) {
 				var parentMat = worldMat(getObject(p.parent));
 				parentMat.invert();
 				var localMat = new h3d.Matrix();