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

Removed return bool from EditorRemoveInstance

Clément Espeute 1 жил өмнө
parent
commit
6d2f3ea5c1

+ 2 - 2
hrt/prefab/Light.hx

@@ -468,11 +468,11 @@ class Light extends Object3D {
 		return true;
 	}
 
-	override function editorRemoveInstance() : Bool {
+	override function editorRemoveInstance() : Void {
 		if (icon != null) {
 			icon.remove();
 		}
-		return super.editorRemoveInstance();
+		super.editorRemoveInstance();
 	}
 
 	override function edit( ctx : hide.prefab.EditContext ) {

+ 6 - 5
hrt/prefab/Material.hx

@@ -249,14 +249,15 @@ class Material extends Prefab {
 	}
 
 	#if editor
-	override function editorRemoveInstance() : Bool {
+	override function editorRemoveInstance() : Void {
 		if (previewSphere != null) {
 			previewSphere.remove();
-			return true;
 		}
-		// temporary untill we find a proper way to remove a material
-		shared.editor.queueRebuild(parent);
-		return false;
+		else {
+			// temporary untill we find a proper way to remove a material
+			shared.editor.queueRebuild(parent);
+		}
+		super.editorRemoveInstance();
 	}
 
 	override function makeInteractive() : hxd.SceneEvents.Interactive {

+ 2 - 2
hrt/prefab/Object2D.hx

@@ -119,11 +119,11 @@ class Object2D extends Prefab {
 		};
 	}
 
-	override function editorRemoveInstance() : Bool {
+	override function editorRemoveInstance() : Void {
 		if (local2d != null) {
 			local2d.remove();
 		}
-		return true;
+		super.editorRemoveInstance();
 	}
 
 	override function edit( ctx : hide.prefab.EditContext ) {

+ 2 - 2
hrt/prefab/Object3D.hx

@@ -449,12 +449,12 @@ class Object3D extends Prefab {
 		return int;
 	}
 
-	override function editorRemoveInstance() : Bool {
+	override function editorRemoveInstance() : Void {
 		if (local3d != null)
 			local3d.remove();
 		if (editorIcon != null)
 			editorIcon.remove();
-		return true;
+		super.editorRemoveInstance();
 	}
 
 	override function edit( ctx : hide.prefab.EditContext ) {

+ 1 - 4
hrt/prefab/Prefab.hx

@@ -584,11 +584,8 @@ class Prefab {
 
 	/**
 		Called by the editor to remove the objects created by this prefab but not it's children.
-		Returns true if all the objects were succesfully removed, false otherwise (this will cause
-			a full rebuild of the scene )
 	**/
-	public function editorRemoveInstance() : Bool {
-		return false;
+	public function editorRemoveInstance() : Void {
 	}
 
 	/**

+ 2 - 2
hrt/prefab/Shader.hx

@@ -158,9 +158,9 @@ class Shader extends Prefab {
 
 	#if editor
 
-	override function editorRemoveInstance() : Bool {
+	override function editorRemoveInstance() : Void {
 		shared.editor.queueRebuild(parent);
-		return true;
+		super.editorRemoveInstance();
 	}
 
 	function getEditProps(shaderDef: hxsl.SharedShader) : Array<hrt.prefab.Props.PropDef> {

+ 2 - 4
hrt/prefab/l3d/Instance.hx

@@ -148,13 +148,11 @@ class Instance extends Object3D {
 		return path;
 	}
 
-	override function editorRemoveInstance() : Bool {
-		if (!super.editorRemoveInstance())
-			return false;
+	override function editorRemoveInstance() : Void {
 		if (icon != null) {
 			icon.remove();
 		}
-		return true;
+		super.editorRemoveInstance();
 	}
 
 	override function getHideProps() : hide.prefab.HideProps {

+ 3 - 5
hrt/prefab/l3d/Spline.hx

@@ -151,11 +151,9 @@ class SplinePoint extends Object3D {
 
 	#if editor
 
-	override function editorRemoveInstance() : Bool {
-		haxe.Timer.delay(() -> { // wait for next frame, need the point to be removed from children to recompute spline accurately
-			@:privateAccess spline.computeSpline();
-		}, 0);
-		return super.editorRemoveInstance();
+	override function editorRemoveInstance() : Void {
+		shared.editor.queueRebuildCallback(() -> @:privateAccess spline.computeSpline());
+		super.editorRemoveInstance();
 	}
 
 	public function computeName() {

+ 15 - 0
hrt/prefab/l3d/Spray.hx

@@ -569,6 +569,21 @@ class Spray extends Object3D {
 		}
 	}
 
+	override function editorRemoveInstance() : Void {
+		removeInteractiveBrush();
+		super.editorRemoveInstance();
+	}
+
+	override function makeObject(parent3d: h3d.scene.Object ) : h3d.scene.Object {
+		return new SprayObject(this, parent3d);
+	}
+
+	override function applyTransform() {
+		super.applyTransform();
+		cast(local3d, SprayObject).redraw();
+	}
+
+
 	static public function makePrimCircle(segments: Int, inner : Float = 0, rings : Int = 0) {
 		var points = [];
 		var uvs = [];