class_name SpawnPoint extends Node3D var _is_occupied: bool = false var _enemy: Enemy = null @export var is_occupied: bool: get: return _is_occupied set(value): _is_occupied = value @export var enemy: Enemy: get: return _enemy set(value): if _enemy == value: return # Vorherige Verbindung lösen, falls vorhanden if _enemy and _enemy.state_changed.is_connected(_on_enemy_state_changed): _enemy.state_changed.disconnect(_on_enemy_state_changed) _enemy = value if _enemy: # Neue Verbindung herstellen, doppelte Verbindungen vermeiden if not _enemy.state_changed.is_connected(_on_enemy_state_changed): _enemy.state_changed.connect(_on_enemy_state_changed) _is_occupied = true else: _is_occupied = false func _on_enemy_state_changed(old_state: Unit.States, new_state: Unit.States) -> void: if old_state == Unit.States.idle and new_state != Unit.States.idle: enemy = null