extends Node2D var numberOfCrates = 2 var timer = Timer.new() var timeAvailable = 5 # Called when the node enters the scene tree for the first time. func _ready() -> void: add_child(timer) # time based on seconds timer.wait_time = 1 # count to 1 and stuff, false means keep clock running timer.one_shot = false timer.connect("timeout", countdown) timer.start() func countdown() -> void: # Reduce time left timeAvailable -= 1 if timeAvailable <= 0 and numberOfCrates > 0: print("LOSER") get_tree().reload_current_scene() # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: pass func _on_trigger(body: Variant, trigger: Variant) -> void: print("Game controller knows trigger fired") body.queue_free() numberOfCrates -= 1 if numberOfCrates == 0: print("WINNER!") get_tree().reload_current_scene() func crateTotal(howMany): numberOfCrates = howMany print("GC knows crates: "+str(numberOfCrates))