From 36874a535a3d5f7f2955f33e34aa1a4768b6fec1 Mon Sep 17 00:00:00 2001 From: David Luevano Alvarado Date: Sat, 4 Jun 2022 03:17:22 -0600 Subject: added hud for snake size and grow progress --- src/entities/food/scripts/food.gd | 59 +++++++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 12 deletions(-) (limited to 'src/entities/food/scripts/food.gd') diff --git a/src/entities/food/scripts/food.gd b/src/entities/food/scripts/food.gd index e8b0261..2e00978 100644 --- a/src/entities/food/scripts/food.gd +++ b/src/entities/food/scripts/food.gd @@ -1,24 +1,59 @@ class_name Food extends Area2D -enum Type { - APPLE -} +onready var _sprite: Sprite = $Sprite -var _type_texture: Dictionary = { - Type.APPLE: preload("res://entities/food/sprites/apple.png") -} +var texture: Dictionary +var timer: Timer -export(Type) var TYPE -onready var _sprite: Sprite = $Sprite -var location: Vector2 +var properties: Dictionary +var points: int = 1 +var time_to_live: float = -1.0 func _ready(): + randomize_stats() + _set_properties() + timer = Timer.new() + timer.one_shot = true + + timer.connect("timeout", self, "_on_timer_timeout") connect("body_entered", self, "_on_body_entered") - _sprite.texture = _type_texture[TYPE] + + +func set_type(type: int) -> void: + set_property("type", type) + _sprite.texture = texture[type] + + +func set_location(loc: Vector2) -> void: + set_property("location", loc) + + +func set_timer(time: float) -> void: + time_to_live = time + if time_to_live != -1.0: + timer.wait_time = time_to_live + timer.start() + + +func set_property(property: String, value) -> void: + properties[property] = value + + +func _set_properties() -> void: + set_property("points", points) + + +func randomize_stats() -> void: + points = int(rand_range(1, 30)) func _on_body_entered(body: Node) -> void: - Event.emit_signal("food_eaten", TYPE, location) - queue_free() \ No newline at end of file + Event.emit_signal("food_eaten", properties) + queue_free() + + +func _on_timer_timeout() -> void: + Event.emit_signal("food_timed_out", properties) + queue_free() -- cgit v1.2.3