class_name GameController extends Node2D var crateTotal:int = 0 signal destroySignal(body) signal teleportSignal(body) signal levelChangeSignal(level) var timer := Timer.new() var timeAvailable := 10 var currentScene:String = "res://scenes/game.tscn" # Called when the node enters the scene tree for the first time. func _ready() -> void: add_child(timer) timer.wait_time = 1 timer.one_shot = false timer.connect("timeout", secondCounter) timer.start() # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: pass func secondCounter()->void: timeAvailable -=1 if timeAvailable<=0: print("You Lose Baby!!") levelChangeSignal.emit(currentScene) func _on_trigger(body: Variant, effect:String, trigger:Trigger) -> void: print("GC knows trigger...."+effect) if body is Crate: match effect: "destroy": destroySignal.emit(body) "teleport": teleportSignal.emit(body) if body is Player: match effect: "timeExtend": timeAvailable +=5 destroySignal.emit(trigger) func updateCrates(total:int)->void: crateTotal = total print("Crate total: "+str(crateTotal)) if crateTotal <=0: print("You WON!!!") levelChangeSignal.emit(currentScene)