From 6f706378ee45243fd1b9858b70a4db60f1cdf951 Mon Sep 17 00:00:00 2001 From: Ronja Date: Tue, 25 Jan 2022 22:51:54 +0100 Subject: [PATCH] proper detatching --- modifiers/trail/trail.wren | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/modifiers/trail/trail.wren b/modifiers/trail/trail.wren index 7fef811..d74e868 100644 --- a/modifiers/trail/trail.wren +++ b/modifiers/trail/trail.wren @@ -204,16 +204,8 @@ class TrailSystem is ModifierSystem { //...but for now... var data = get(entity) - var inst_data: TrailData = _instance_data[entity] - - World.render_set_remove(_world, inst_data.geometry, entity) - Geometry.destroy(inst_data.geometry) - Render.destroy_index_buffer(inst_data.index_buffer) - Render.destroy_vertex_buffer(inst_data.position_buffer) - Render.destroy_vertex_buffer(inst_data.color_buffer) - Render.destroy_vertex_buffer(inst_data.uv_buffer) + detach(entity, data) attach(entity, data) - System.print("recreated") } destroy() { @@ -309,8 +301,14 @@ class TrailSystem is ModifierSystem { } detach(entity, data: ModifierData) { - //called when detached from an entity, like on destroy - + var inst_data: TrailData = _instance_data[entity] + World.render_set_remove(_world, inst_data.geometry, entity) + Geometry.destroy(inst_data.geometry) + Render.destroy_index_buffer(inst_data.index_buffer) + Render.destroy_vertex_buffer(inst_data.position_buffer) + Render.destroy_vertex_buffer(inst_data.color_buffer) + Render.destroy_vertex_buffer(inst_data.uv_buffer) + _instance_data.remove(entity) } tick(delta) {