summaryrefslogtreecommitdiff
path: root/Game/Selection/selectable_area.gd
diff options
context:
space:
mode:
authorDaniel Weipert <git@mail.dweipert.de>2024-09-28 15:27:43 +0200
committerDaniel Weipert <git@mail.dweipert.de>2024-09-28 15:27:43 +0200
commitb96e384d8299473b14edcbf885fa914a9308d18f (patch)
tree0bde9428f42b309ea167a41473252bda8035e21a /Game/Selection/selectable_area.gd
parent4597189f157834c80f56b12b701fd2b2a15c2798 (diff)
next commit
Diffstat (limited to 'Game/Selection/selectable_area.gd')
-rw-r--r--Game/Selection/selectable_area.gd29
1 files changed, 29 insertions, 0 deletions
diff --git a/Game/Selection/selectable_area.gd b/Game/Selection/selectable_area.gd
new file mode 100644
index 0000000..59d4be7
--- /dev/null
+++ b/Game/Selection/selectable_area.gd
@@ -0,0 +1,29 @@
+extends Area2D
+
+
+signal hover_enter
+signal hover_exit
+signal select(event: InputEvent)
+
+
+func _on_area_entered(_area: Area2D) -> void:
+ hover_enter.emit()
+
+
+func _on_area_exited(_area: Area2D) -> void:
+ hover_exit.emit()
+
+
+func _on_mouse_entered() -> void:
+ if not get_tree().get_first_node_in_group("selection_rectangle").is_active:
+ hover_enter.emit()
+
+
+func _on_mouse_exited() -> void:
+ if not get_tree().get_first_node_in_group("selection_rectangle").is_active:
+ hover_exit.emit()
+
+
+func _on_input_event(_viewport: Node, event: InputEvent, _shape_idx: int) -> void:
+ if event.is_action_pressed("select"):
+ select.emit(event)