From 466bec0b724632f6dd2e1555a7bd58ffc1dd0458 Mon Sep 17 00:00:00 2001 From: altaf-creator Date: Mon, 20 Oct 2025 01:43:48 +0800 Subject: Jam version. --- Scripts/GameLoop.gd | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Scripts/GameLoop.gd (limited to 'Scripts/GameLoop.gd') diff --git a/Scripts/GameLoop.gd b/Scripts/GameLoop.gd new file mode 100644 index 0000000..353f1be --- /dev/null +++ b/Scripts/GameLoop.gd @@ -0,0 +1,34 @@ +extends Node2D + +var spawn_pos : Vector2 = Vector2(640, 372) + +var inv_at_start : Array[int] = [-1, -1, -1, -1, -1, -1] +var has_machette : bool = false + +var player : Entity + +@export var lvl : int = 0 + +@export var level_nodes : Array[Node2D] +@export var level_packs : Array[PackedScene] + +func _ready() -> void: + player = get_tree().get_root().get_node("Node2D/Player") + Engine.time_scale = 1 + +func restart() -> void: + var new = level_packs[lvl].instantiate() + + new.global_position = level_nodes[lvl].global_position + get_tree().get_root().get_node("Node2D").add_child(new) + level_nodes[lvl].queue_free() + level_nodes[lvl] = new + + player.health = player.max_health + UIConnector.display_health(player.health) + player.position = spawn_pos + player.visible = true + player.process_mode = Node.PROCESS_MODE_PAUSABLE + player.get_node("PlayerInventory").mask_inventory = inv_at_start + if !has_machette: player.get_node("PlayerInventory").ungive_machette() + UIConnector.update_masks(player.get_node("PlayerInventory").mask_inventory) -- cgit v1.2.3