瀏覽代碼

Fix trails being updated by FX when removed from scene.

clementlandrin 1 年之前
父節點
當前提交
b7bd6eda88
共有 1 個文件被更改,包括 10 次插入0 次删除
  1. 10 0
      hrt/prefab/l3d/Trails.hx

+ 10 - 0
hrt/prefab/l3d/Trails.hx

@@ -224,6 +224,16 @@ class TrailObj extends h3d.scene.Mesh {
 
 
 	override function onRemove() {
 	override function onRemove() {
 		super.onRemove();
 		super.onRemove();
+		var p = parent;
+		var fxAnim : Array<hrt.prefab.fx.FX.FXAnimation> = [];
+		while ( p != null ) {
+			var fx = Std.downcast(p, hrt.prefab.fx.FX.FXAnimation);
+			if ( fx != null )
+				fxAnim.push(fx);
+			p = p.parent;
+		}
+		for ( fx in fxAnim )
+			fx.trails.remove(this);
 		dprim.dispose();
 		dprim.dispose();
 	}
 	}