katheterkompass/ziel_darm.gd

44 lines
1.2 KiB
GDScript

extends Panel
@onready var snap_marker: Node2D = $SnapMarker
var expected: String = "intestine"
func _ready() -> void:
modulate.a = 0.0
func _can_drop_data(_at_position: Vector2, data: Variant) -> bool:
print("Can drop check! Position:", _at_position, "Data:", data)
return data is Dictionary and data.has("organ")
func _drop_data(_at_position: Vector2, data: Variant) -> void:
print("_drop_data aufgerufen mit data =", data)
if data is Dictionary and data.has("node") and data.has("texture"):
var dragged: TextureRect = data["node"]
var organ_name = data["organ"]
var main = get_tree().get_root().get_node("Main")
if organ_name == expected:
print("✅ Richtiges Organ:", organ_name)
dragged.global_position = snap_marker.global_position - dragged.size * 0.5
dragged.texture = data["texture"]
dragged.mouse_filter = Control.MOUSE_FILTER_STOP
self.mouse_filter = Control.MOUSE_FILTER_IGNORE
dragged.was_dropped = true
if dragged.has_method("start_zoom_and_animation"):
dragged.start_zoom_and_animation()
main.advance_organ_order()
else:
print("❌ Falsches Organ:", organ_name)
AudioManager.stop_all_audio_players()
main.play_wrong_place_sound()
if not dragged.was_dropped:
dragged._reset_drag()