Ver Fonte

L3D: Fix auto-naming of instances

trethaller há 7 anos atrás
pai
commit
447c101282
3 ficheiros alterados com 8 adições e 5 exclusões
  1. 1 1
      hide/comp/SceneEditor.hx
  2. 6 3
      hide/prefab/l3d/Layer.hx
  3. 1 1
      hide/view/l3d/Level3D.hx

+ 1 - 1
hide/comp/SceneEditor.hx

@@ -1079,7 +1079,7 @@ class SceneEditor {
 		var prefix = null;
 		if(p.name != null && p.name.length > 0) {
 			if(uniqueName)
-				prefix = ~/_+[0-9]*$/.replace(p.name, "");
+				prefix = ~/_+[0-9]+$/.replace(p.name, "");
 			else
 				prefix = p.name;
 		}

+ 6 - 3
hide/prefab/l3d/Layer.hx

@@ -40,9 +40,12 @@ class Layer extends Object3D {
 
 	override function load( obj : Dynamic ) {
 		super.load(obj);
-		locked = obj.locked;
-		uniqueNames = obj.uniqueNames;
-		color = obj.color;
+		if(obj.locked != null)
+			locked = obj.locked;
+		if(obj.color != null)
+			color = obj.color;
+		if(obj.uniqueNames != null)
+			uniqueNames = obj.uniqueNames;
 	}
 
 	override function edit( ctx : EditContext ) {

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

@@ -201,7 +201,7 @@ private class Level3DSceneEditor extends hide.comp.SceneEditor {
 						label : kind,
 						click : function() {
 							var p = new hide.prefab.l3d.Instance(current);
-							p.name = kind.charAt(0).toLowerCase() + kind.substr(1) + "_";
+							p.name = kind.charAt(0).toLowerCase() + kind.substr(1);
 							setup(p);
 							Reflect.setField(p.props, refCol.col.name, kind);
 						}