red_dragon_pon/base/scripts/effects_system/effect_handler.gd
2025-08-07 00:11:05 +05:00

21 lines
550 B
GDScript

extends Node
signal effect_added(effect : StringName)
signal effect_removed(effect : StringName)
## Add effect to
func add_effect(effectScene : PackedScene):
var effect = effectScene.instantiate()
effect.owner = owner
if get_node(effect.name) != null:
remove_effect(effect.name)
add_child(effect)
effect_added.emit(effect.name)
func remove_effect(effect : StringName):
var path = NodePath(effect)
if get_node(path) == null:
printerr("Effect does not exist: ", effect)
return
effect_removed.emit(effect)
get_node(path).queue_free()