extends Spatial signal game_over signal got_treasure(item_type) export var play_time: float = 20.0 const loot_table = { #preload("res://") } var main: Node var treasure := [] # is array of item_types func _ready(): $Timer.start(play_time) spawn_rocks(10) func spawn_rocks(count: int): var locations: Array = get_tree().get_nodes_in_group("rock_spawn_location") locations.shuffle() for i in range(min(count, locations.size())): var location = locations[i] var rock = preload("res://scenes/rock.tscn").instance() location.add_child(rock) func _on_collection_area_area_entered(area): if area.has_meta("owner"): area = area.get_meta("owner") area.queue_free() emit_signal("got_treasure", preload("res://item_types/ore.tres")) func _process(delta): $"%progress_bar".value = $Timer.time_left * 100.0 / $Timer.wait_time func _on_Timer_timeout(): emit_signal("game_over")