extends Node2D signal destroySignal (body) var levels=["res://scene/game.tscn", "res://scene/level2.tscn", "res://scene/level3.tscn"] var currentlevel=0 var timers=[5, 15, 10] var timeleft=0 var playercurrenthealth:int = 100 var enemiesdict = {} signal levelchangesignal(level) var timer = Timer.new() func secondcounter()-> void: timeleft -=1 if timeleft <=0: print("YOU LOOOSSSTTT!!!!") levelchangesignal.emit(levels[currentlevel]) func _ready() -> void: reset() get_window().grab_focus() add_child(timer) timer.wait_time=1 timer.one_shot = false timer.connect("timeout", secondcounter) timer.start() func reset()->void: timeleft = timers[currentlevel] # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: pass func on_trigger(body: Variant, intentMessage: Variant) -> void: if body.is_in_group("fragile") and intentMessage == "destroy": destroySignal.emit(body) func totalCube(NumberOfCube:int)->void: print ("gameknowscubes: "+str(NumberOfCube)) if NumberOfCube <=0: print("YOu won!!") currentlevel +=1 if currentlevel >= levels.size(): currentlevel = 0 levelchangesignal.emit(levels[currentlevel]) func _on_slime_damage(_body,slime)->void: print("owie:(") print("doing damage: " +str(enemiesdict[slime]["damage"])) playercurrenthealth -=enemiesdict[slime]["damage"] if playercurrenthealth <=0: print("u ded") func addenemytolevel(slime)->void: print("adding enemhy to level") var randamage = randi_range(1,20) var enemystat = { "health":50000, "damage":25 } enemiesdict[slime]=enemystat