godot-plateformer/addons/reedfx/vfx/VFXSignalBinding.gd

27 lines
772 B
GDScript3
Raw Normal View History

2025-12-29 11:54:31 +08:00
extends Resource
class_name VFXSignalBinding
@export var target_node: NodePath
@export var signal_name: StringName
@export var vfx_scene: PackedScene
## VFX 播放位置来源
enum SpawnSpace {
##如果是跟随Target不需要额外的参数
TARGET_NODE,
##如果是直接Spawn在World需要提供一个额外的全局坐标
WORLD_POSITION
}
@export var spawn_space := SpawnSpace.TARGET_NODE
@export var offset := Vector2.ZERO
@export var debug_print:= false
func get_debug_message() -> String:
var target_str = "UnknownTarget" if target_node.is_empty() else str(target_node)
var signal_str = "UnknownSignal" if signal_name.is_empty() else str(signal_name)
return "[VFX] Spawned triggered by signal \"%s\" on node \"%s\"" % [signal_str, target_str]