35 lines
769 B
GDScript
35 lines
769 B
GDScript
tool
|
|
extends Line2D
|
|
|
|
class_name Route
|
|
|
|
export (NodePath) var start setget set_start
|
|
export (NodePath) var end setget set_end
|
|
|
|
func _ready():
|
|
set_start(start)
|
|
set_end(end)
|
|
add_to_group("routes")
|
|
|
|
func set_start(val):
|
|
start = val
|
|
if start:
|
|
var node = get_node_or_null(start)
|
|
if node:
|
|
set_point_position(0, node.position)
|
|
|
|
func set_end(val):
|
|
end = val
|
|
if end:
|
|
var node = get_node_or_null(end)
|
|
if node:
|
|
set_point_position(1, node.position)
|
|
|
|
func is_connecting(anchor1, anchor2) -> bool:
|
|
if start and end:
|
|
var start_node = get_node_or_null(start)
|
|
var end_node = get_node_or_null(end)
|
|
return start_node and end_node and ((start_node == anchor1 and end_node == anchor2) or (start_node == anchor2 and end_node == anchor1))
|
|
else:
|
|
return false
|