summaryrefslogtreecommitdiff
path: root/src/entities/food/scripts/food.gd
diff options
context:
space:
mode:
Diffstat (limited to 'src/entities/food/scripts/food.gd')
-rw-r--r--src/entities/food/scripts/food.gd39
1 files changed, 12 insertions, 27 deletions
diff --git a/src/entities/food/scripts/food.gd b/src/entities/food/scripts/food.gd
index aa5207f..386f0e5 100644
--- a/src/entities/food/scripts/food.gd
+++ b/src/entities/food/scripts/food.gd
@@ -7,13 +7,9 @@ var texture: Dictionary
var timer: Timer
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
@@ -21,35 +17,24 @@ func _ready():
connect("body_entered", self, "_on_body_entered")
-func set_type(type: int) -> void:
- set_property("type", type)
- _sprite.texture = texture[type]
+func update_texture() -> void:
+ _sprite.texture = texture[properties["type"]]
-func set_location(loc: Vector2) -> void:
- set_property("location", loc)
+func set_properties(pos: Vector2, loc: Vector2, special: bool, type: int, points: int=1, ttl: float = -1.0) -> void:
+ properties["global_position"] = pos
+ global_position = pos
+ properties["location"] = loc
+ properties["special"] = special
+ properties["type"] = type
-
-func set_timer(time: float) -> void:
- time_to_live = time
- if time_to_live != -1.0:
- timer.wait_time = time_to_live
+ properties["points"] = points
+ properties["ttl"] = ttl
+ if properties["ttl"] != -1.0:
+ timer.wait_time = properties["ttl"]
timer.start()
-func set_property(property: String, value) -> void:
- properties[property] = value
-
-
-func _set_properties() -> void:
- set_property("points", points)
- set_property("global_position", global_position)
-
-
-func randomize_stats() -> void:
- points = int(rand_range(1, 10))
-
-
func _on_body_entered(body: Node) -> void:
Event.emit_signal("food_eaten", properties)
queue_free()