godot-plateformer/_props/_prefabs/collection_prefab.gd

20 lines
466 B
GDScript3
Raw Normal View History

2026-01-02 18:37:09 +08:00
extends Area2D
signal collected(collector: Node2D)
func _ready() -> void:
self.body_entered.connect(_on_collected)
self.area_entered.connect(_on_collected)
func _on_collected(collection: Node2D) -> void:
var collector := collection.owner
if collector == null:
return
## 如果收集者存在收集接口,那麽就把自己傳過去
if collector.has_method("collect_item"):
collector.collect_item(self)
collected.emit(collector)
self.queue_free()