summaryrefslogtreecommitdiff
path: root/src/main.gd
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.gd')
-rw-r--r--src/main.gd21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/main.gd b/src/main.gd
index cdfbbf1..38a0341 100644
--- a/src/main.gd
+++ b/src/main.gd
@@ -5,13 +5,22 @@ onready var _snake: Node2D = $Snake
func _ready() -> void:
+ Event.connect("game_start", self, "_on_game_start")
+ Event.connect("game_over", self, "_on_game_over")
Event.connect("snake_segment_body_entered", self, "_on_snake_segment_body_entered")
+
+ _snake_disabled(false)
# OS.window_size = Global.GAME_SCALE * OS.window_size
+func _input(event: InputEvent) -> void:
+ if event.is_action_pressed("restart"):
+ get_tree().reload_current_scene()
+
+
func _on_snake_segment_body_entered(body: Node) -> void:
if body is KinematicBody2D:
- _snake_disabled(false)
+ Event.emit_signal("game_over")
func _snake_disabled(on_off: bool) -> void:
@@ -20,3 +29,13 @@ func _snake_disabled(on_off: bool) -> void:
_snake.propagate_call("set_physics_process", [on_off])
_snake.propagate_call("set_physics_process_internal", [on_off])
_snake.propagate_call("set_process_input", [on_off])
+
+
+func _on_game_start() -> void:
+ print("game start")
+ _snake_disabled(true)
+
+
+func _on_game_over() -> void:
+ print("game over")
+ _snake_disabled(false)