diff --git a/scripts/characters/snap_receiver.gd b/scripts/characters/snap_receiver.gd new file mode 100644 index 0000000..b5d7ca8 --- /dev/null +++ b/scripts/characters/snap_receiver.gd @@ -0,0 +1,22 @@ +## SnapReceiver — scans for nearby SnapPoints when the parent Character is released. +## Attach as child of Character. Full implementation connects to DragDropComponent signals. +class_name SnapReceiver extends Node + +const SCAN_RADIUS: float = 80.0 + +var _current_snap: SnapPoint = null +var _character: Character + + +func _ready() -> void: + _character = get_parent() as Character + + +func get_current_snap() -> SnapPoint: + return _current_snap + + +func force_unsnap() -> void: + if _current_snap != null: + _current_snap.unsnap() + _current_snap = null