better in-game timer

as in, use `_process()` and add a number
could you lag on purpose before finishing to cut time? probably not
This commit is contained in:
Taevas 2025-03-25 17:48:00 +01:00
parent 4afec6386c
commit df7736a9d1
10 changed files with 180 additions and 190 deletions

View file

@ -3,10 +3,8 @@ extends Node3D
var music: Music
var velocity: float = 0.0
var rings_count = 72727
var finished_rings_count = 0
var rings: Array[Node] = []
var finished_rings_count = 0
func _ready() -> void:
var children = get_children()
@ -18,13 +16,12 @@ func _ready() -> void:
var rings_node = get_node("Rings")
assert(is_instance_valid(rings_node), self.name + " has no rings!")
rings = rings_node.get_children()
rings_count = len(rings)
for ring in rings:
ring.connect("collect_signal", do_we_end_yet)
func do_we_end_yet():
finished_rings_count += 1
if finished_rings_count >= rings_count:
if finished_rings_count >= len(rings):
var game = get_parent().get_parent()
if is_instance_valid(game) and game.has_method("stop_level"):
game.stop_level()