summaryrefslogtreecommitdiff
path: root/src/entities/actors/snake/scripts/head.gd
diff options
context:
space:
mode:
Diffstat (limited to 'src/entities/actors/snake/scripts/head.gd')
-rw-r--r--src/entities/actors/snake/scripts/head.gd17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/entities/actors/snake/scripts/head.gd b/src/entities/actors/snake/scripts/head.gd
index 117f461..1e17b18 100644
--- a/src/entities/actors/snake/scripts/head.gd
+++ b/src/entities/actors/snake/scripts/head.gd
@@ -5,12 +5,19 @@ enum {
RIGHT=1
}
+onready var tongue_sprite: AnimatedSprite = $Tongue
+
var _initial_speed: float = Global.SNAKE_SPEED
var velocity: Vector2 = Vector2.ZERO
var _direction: Vector2 = Vector2.UP
var _time_elapsed: float = 0.0
+func _ready() -> void:
+ Event.connect("food_eaten", self, "_on_food_eaten")
+ tongue_sprite.visible = false
+
+
func _physics_process(delta: float) -> void:
if Input.is_action_pressed("move_left"):
_rotate_to(LEFT)
@@ -36,3 +43,13 @@ func _handle_time_elapsed(delta: float) -> void:
Event.emit_signal("snake_path_new_point", global_position)
_time_elapsed = 0.0
_time_elapsed += delta
+
+
+func _on_food_eaten(properties: Dictionary) -> void:
+ print("tongue food eaten")
+ if not tongue_sprite.visible:
+ tongue_sprite.visible = true
+ tongue_sprite.play()
+ yield(tongue_sprite, "animation_finished")
+ tongue_sprite.stop()
+ tongue_sprite.frame = 0