class_name SceneManager extends Node2D @onready var game_node: Node2D = $".." @onready var crates: Node2D = $"../crates" func _ready() -> void: print("scene manager is ready") game_node.destroy.connect(destroy) build_level() func _process(delta: float) -> void: pass func build_level() -> void: update_crates() func update_crates() -> void: var crate_total:int = 0 if crates: for obj in crates.get_children(): if obj is BrownBox: if not obj.tree_exited.is_connected(update_crates): obj.tree_exited.connect(update_crates) crate_total += 1 game_node.set_crate_num(crate_total) func destroy(body): if body is BrownBox: body.queue_free()