extends Node2D var numberOfCrates = 2 var timeAvailable = 50 signal destroySignal(body) signal levelChangeSignal(level) signal fanUpSignal(body,direction) signal teleportSignal(body) var timer = Timer.new() # Called when the node enters the scene tree for the first time. func _ready() -> void: get_window().grab_focus() add_child(timer) timer.wait_time = 1 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("LOOOOOSAH") levelChangeSignal.emit("res://scenes/game.tscn") func _on_trigger(body: Variant, trigger: Variant, intent:String) -> void: print("GC knows trigger fired "+intent) match intent: "destroy": print("GC sending destroy signal") destroySignal.emit(body) "fan": if body is RigidBody2D: fanUpSignal.emit(body,Vector2(0,-1)*100*9) "teleport": if body is Crate: teleportSignal.emit(body) #from scene manager func crateTotal(howmany): numberOfCrates = howmany print("GC knows about crates: "+str(numberOfCrates)) if numberOfCrates == 0: print("YOU WON!!!") levelChangeSignal.emit("res://scenes/game.tscn") func bulletDamage()->void: print("bullet damage")