extends Node var myBox = preload("res://scenes/crate.tscn") @onready var box_trap = $"../BoxTrap" @onready var timer = $Timer @onready var player = $"../CharacterBody2D" @onready var coins = $"../Coins" @onready var enemies = $"../enemies" @onready var ui = $"../CanvasLayer/UI" # Called when the node enters the scene tree for the first time. func _ready(): GameManager.resetPlayer() for n in coins.get_children(): if n is Coin: #wire up our listener n.coinCollected.connect(_on_coin_coin_collected) for n in enemies.get_children(): if n is BadGuy: n.playerDamage.connect(playerDamage) func _process(delta): if GameManager.player.health <= 0 && player.living: player.die() func _on_area_2d_areatrigger(effect, body): print("Game Controller sees the trigger" +effect ) match effect: "alert": #do stuff print("hi") if body.is_in_group("player"): for n in 3: var box = myBox.instantiate() owner.add_child(box) box.position = box_trap.position "powerup": print("you got power") func resetWorld(): get_tree().reload_current_scene() func _on_coin_coin_collected(): GameManager.coinCollected() ui.coinUpdate(GameManager.coinCollectedTotal) func playerDamage(): GameManager.playerDamage() ui.healthUpdate(GameManager.player.health) func _on_death_complete(): #This is where we reset the world timer.start(.5)