Nicolas Cannasse 5 år sedan
förälder
incheckning
ec172e41e3
2 ändrade filer med 11 tillägg och 9 borttagningar
  1. 1 1
      hrt/prefab/l3d/Instance.hx
  2. 10 8
      hrt/prefab/l3d/MeshSpray.hx

+ 1 - 1
hrt/prefab/l3d/Instance.hx

@@ -13,7 +13,7 @@ class Instance extends Object3D {
 		#if editor
 		var ctx = super.makeInstance(ctx);
 		var kind = getCdbKind(this);
-		if(kind == null)
+		if(kind == null || kind.idx == null)
 			return ctx;
 
 		var modelPath = findModelPath(kind.sheet, kind.idx.obj);

+ 10 - 8
hrt/prefab/l3d/MeshSpray.hx

@@ -150,13 +150,13 @@ class MeshSpray extends Object3D {
 			var shiftPressed = K.isDown( K.SHIFT);
 
 			drawCircle(ctx, worldPos.x, worldPos.y, worldPos.z, (shiftPressed) ? deleteRadius : radius, 5, (shiftPressed) ? 9830400 : 38400);
-			
-			if (lastSpray < Date.now().getTime() - 100) {	
+
+			if (lastSpray < Date.now().getTime() - 100) {
 				if (previewModels.length > 0) {
 					sceneEditor.deleteElements(previewModels, () -> { }, false, false);
 					sceneEditor.selectObjects([this], false);
 					previewModels = [];
-				}			
+				}
 				if( !shiftPressed ) {
 					previewMeshesAround(ctx, worldPos);
 				}
@@ -252,7 +252,9 @@ class MeshSpray extends Object3D {
 			timerCicle = new haxe.Timer(100);
 			timerCicle.run = function() {
 				timerCicle.stop();
-				for (g in gBrushes) g.visible = false;
+				if( gBrushes != null ) {
+					for (g in gBrushes) g.visible = false;
+				}
 				if (previewModels != null && previewModels.length > 0) {
 					sceneEditor.deleteElements(previewModels, () -> { }, false, false);
 					previewModels = [];
@@ -387,7 +389,7 @@ class MeshSpray extends Object3D {
 				previewModels.push(model);
 				currentPivots.push(new h2d.col.Point(model.x, model.y));
 			}
-					
+
 			if (previewModels.length > 0) {
 				sceneEditor.addObject(previewModels, false, false);
 			}
@@ -495,7 +497,7 @@ class MeshSpray extends Object3D {
 	}
 
 	var terrainPrefab : hrt.prefab.terrain.Terrain = null;
-	
+
 	// GET Z with TERRAIN
 	public function getZ( x : Float, y : Float ) {
 		var z = this.z;
@@ -551,7 +553,7 @@ class MeshSpray extends Object3D {
 
 		return planePt;
 	}
-	
+
 
 	public function screenToWorld(sx: Float, sy: Float) {
 		var camera = sceneEditor.scene.s3d.camera;
@@ -567,7 +569,7 @@ class MeshSpray extends Object3D {
 		var dist = 0.0;
 		if (terrainPrefab == null)
 			@:privateAccess terrainPrefab = sceneEditor.sceneData.find(p -> Std.downcast(p, hrt.prefab.terrain.Terrain));
-		
+
 		if (terrainPrefab != null) {
 			var normal = terrainPrefab.terrain.getAbsPos().up();
 			var plane = h3d.col.Plane.fromNormalPoint(normal.toPoint(), new h3d.col.Point(terrainPrefab.terrain.getAbsPos().tx, terrainPrefab.terrain.getAbsPos().ty, terrainPrefab.terrain.getAbsPos().tz));