extends Sprite class_name Anchor export var selectable = false export var selected = false export(String, "normal", "attack_start", "defend_start") var anchor_type = "normal" export(NodePath) var content func _process(delta): if selected: modulate = Color(1, 0.4, 0.4) elif selectable: modulate = Color(1, 0.8, 0.2) else: modulate = Color(1, 1, 1) func _ready(): add_to_group("anchors") func is_connected_to(other: Anchor) -> bool: for route in get_tree().get_nodes_in_group("routes"): if route is Route and route.is_connecting(self, other): return true return false func set_content(val): if val is Node: var old_parent = val.get_parent() if old_parent: if old_parent.has_method("set_content"): old_parent.set_content(null) old_parent.remove_child(val) self.add_child(val) content = val.get_path() else: content = null func get_content(): if content: return get_node_or_null(content) else: return null func is_empty() -> bool: return not get_content()