From 68271d6b30e05182d3f47497c4aa9a7570ee1174 Mon Sep 17 00:00:00 2001 From: Joyless <65855333+Joy-less@users.noreply.github.com> Date: Tue, 6 Jan 2026 15:20:36 +0000 Subject: [PATCH 1/2] Add on generated signal --- demo/addons/sprite_mesh/sprite_mesh_instance.gd | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/demo/addons/sprite_mesh/sprite_mesh_instance.gd b/demo/addons/sprite_mesh/sprite_mesh_instance.gd index 324a9ff..d0da555 100644 --- a/demo/addons/sprite_mesh/sprite_mesh_instance.gd +++ b/demo/addons/sprite_mesh/sprite_mesh_instance.gd @@ -6,9 +6,12 @@ extends MeshInstance3D ## the sprite. It is inspired by [Sprite3D], so many of its properties behave similarly. -const Quad := preload("./scripts/quad.gd") -const Frame := preload("./scripts/frame.gd") -const GreedyAlgorithm := preload("./scripts/greedy_algorithm.gd") +## Emitted after the sprite mesh is generated. +signal on_generated_sprite_mesh(sprite_mesh: SpriteMesh); + +const Quad = preload("./scripts/quad.gd") +const Frame = preload("./scripts/frame.gd") +const GreedyAlgorithm = preload("./scripts/greedy_algorithm.gd") ## [Texture2D] object to draw. @export var texture: Texture2D: set = set_texture @@ -119,6 +122,8 @@ func _generate_sprite_mesh() -> SpriteMesh: sprite_mesh.meshes = _generate_meshes() sprite_mesh.material = _generate_material() + on_generated_sprite_mesh.emit(sprite_mesh) + return sprite_mesh From 1c22d71d2e2e2772fd6a3078a3c6da89bbed2a86 Mon Sep 17 00:00:00 2001 From: Joyless <65855333+Joy-less@users.noreply.github.com> Date: Tue, 6 Jan 2026 15:30:34 +0000 Subject: [PATCH 2/2] Remove signal argument --- demo/addons/sprite_mesh/sprite_mesh_instance.gd | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/demo/addons/sprite_mesh/sprite_mesh_instance.gd b/demo/addons/sprite_mesh/sprite_mesh_instance.gd index d0da555..4a29c7a 100644 --- a/demo/addons/sprite_mesh/sprite_mesh_instance.gd +++ b/demo/addons/sprite_mesh/sprite_mesh_instance.gd @@ -7,7 +7,7 @@ extends MeshInstance3D ## Emitted after the sprite mesh is generated. -signal on_generated_sprite_mesh(sprite_mesh: SpriteMesh); +signal on_generated_sprite_mesh(); const Quad = preload("./scripts/quad.gd") const Frame = preload("./scripts/frame.gd") @@ -85,7 +85,7 @@ func _process(delta: float): if Engine.is_editor_hint() and _pending_update: if _seconds_left <= 0: _pending_update = false - generated_sprite_mesh = _generate_sprite_mesh() + _generate_sprite_mesh() else: _seconds_left -= delta @@ -94,7 +94,7 @@ func _process(delta: float): func update_sprite_mesh() -> void: if _pending_update: _pending_update = false - generated_sprite_mesh = _generate_sprite_mesh() + _generate_sprite_mesh() ## Returns the mesh that corresponds to a frame of the animation, represented by its [param index]. @@ -122,7 +122,9 @@ func _generate_sprite_mesh() -> SpriteMesh: sprite_mesh.meshes = _generate_meshes() sprite_mesh.material = _generate_material() - on_generated_sprite_mesh.emit(sprite_mesh) + generated_sprite_mesh = sprite_mesh + + on_generated_sprite_mesh.emit() return sprite_mesh