diff options
Diffstat (limited to 'Game/Selection/multi_select_area.gd')
-rw-r--r-- | Game/Selection/multi_select_area.gd | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Game/Selection/multi_select_area.gd b/Game/Selection/multi_select_area.gd new file mode 100644 index 0000000..9b2e8ce --- /dev/null +++ b/Game/Selection/multi_select_area.gd @@ -0,0 +1,19 @@ +extends Area2D + + +signal select(nodes: Array) + + +func _ready() -> void: + var camera_rect = Client.stage.get_node("Camera").get_rect() + + global_position = camera_rect.position + camera_rect.size / 2 + + $CollisionShape2D.shape.size = camera_rect.size + + +func _process(_delta: float) -> void: + var nodes = get_overlapping_areas() + get_overlapping_bodies() + if nodes.size() > 0: + select.emit(nodes) + queue_free() |