summaryrefslogtreecommitdiff
path: root/Scripts/GameLoop.gd
blob: 353f1bee246e76285cdda5d168bc54a17c2c55cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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)