class_name GameController extends Node2D var createTotal = 0 signal destroySignal(body) signal teleportSignal(body) signal levelChangeSignal(level) var currentScene:String = "res://scenes/game.tscn" var timer := Timer.new() var timeAvailable := 20 # 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() func secondCounter() ->void: timeAvailable -=1 if timeAvailable <=0: print("You Lose") levelChangeSignal.emit(currentScene) # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): pass func _on_trigger(body, effect,trigger): print("GC knows trigger...." + effect) if body is Create: match effect: "destroy": createTotal -= 1 if createTotal <= 0: print("You won") levelChangeSignal.emit(currentScene) destroySignal.emit(body) "teleport": print("GM teleport an object") teleportSignal.emit(body) if body is Player: match effect: "powerup": print("GC knows about powerup") timeAvailable +=5 destroySignal.emit(trigger) func createUpdate(creatsAmonut): createTotal = creatsAmonut print("GC updated creats:" +str(createTotal))