blob: 20772dbf79fceb391d9f9687164d73931ef94ce8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
class_name FoodManager
extends Node2D
export(PackedScene) var FOOD: PackedScene
var max_apples: int = 10
var current_apples: int = 0
func _ready():
Event.connect("food_eaten", self, "_on_food_eaten")
randomize()
func _process(delta) -> void:
if current_apples < max_apples:
_place_new_food()
current_apples += 1
func _place_new_food() -> void:
var food: Area2D = FOOD.instance()
Event.emit_signal("food_placing_new_food", food.TYPE)
var position: Vector2 = _get_random_pos()
food.global_position = position
add_child(food)
Event.emit_signal("food_placed_new_food", food.TYPE)
func _get_random_pos() -> Vector2:
var screen_size: Vector2 = get_viewport().get_visible_rect().size
var temp_x: float = randf() * screen_size.x - screen_size.x / 2.0
var temp_y: float = randf() * screen_size.y - screen_size.y / 2.0
return Vector2(temp_x, temp_y)
func _on_food_eaten(type: int) -> void:
current_apples -= 1
|