Pause Menu and navigation

This commit is contained in:
2025-07-28 14:29:51 +02:00
parent 6b6b183da6
commit feed8d0786
7 changed files with 211 additions and 45 deletions

View File

@ -1,33 +1,39 @@
extends Panel
extends Control
@onready var livelabel: Label = $HBoxContainer4/HBoxContainer3/Label
@onready var coinlabel: Label = $HBoxContainer4/HBoxContainer/Label
@onready var livelabel: Label = $Panel/HBoxContainer4/HBoxContainer3/Label
@onready var coinlabel: Label = $Panel/HBoxContainer4/HBoxContainer/Label
@onready var stickspawner: Button = $HBoxContainer4/HBoxContainer4/Button2
@onready var stickspawner: Button = $Panel/HBoxContainer4/HBoxContainer4/Button2
const STICK_TRAP = preload("res://Game/Traps/stick_trap.tscn")
@onready var minespawner: Button = $HBoxContainer4/HBoxContainer4/Button3
@onready var minespawner: Button = $Panel/HBoxContainer4/HBoxContainer4/Button3
const MINE = preload("res://Game/Traps/mine.tscn")
@onready var wallspawner: Button = $HBoxContainer4/HBoxContainer4/Button4
@onready var wallspawner: Button = $Panel/HBoxContainer4/HBoxContainer4/Button4
const WALL = preload("res://Game/Traps/wall.tscn")
@onready var archertowerspawn: Button = $HBoxContainer4/HBoxContainer2/Button2
@onready var archertowerspawn: Button = $Panel/HBoxContainer4/HBoxContainer2/Button2
const ARCHER_TOWER = preload("res://Game/Towers/archer_tower.tscn")
@onready var wizardtowerspawn: Button = $HBoxContainer4/HBoxContainer2/Button3
@onready var wizardtowerspawn: Button = $Panel/HBoxContainer4/HBoxContainer2/Button3
const WIZARD_TOWER = preload("res://Game/Towers/wizard_tower.tscn")
@onready var mortartowerspawn: Button = $HBoxContainer4/HBoxContainer2/Button4
@onready var mortartowerspawn: Button = $Panel/HBoxContainer4/HBoxContainer2/Button4
const MORTAR_TOWER = preload("res://Game/Towers/mortar_tower.tscn")
@onready var delete_tower_button: Button = $HBoxContainer4/HBoxContainer5/Button4
@onready var delete_tower_button: Button = $Panel/HBoxContainer4/HBoxContainer5/Button4
const DELETER = preload("res://Game/Accesories/deleter.tscn")
var lives = 0
var coins = 0
func _ready() -> void:
get_node("pausemenu").hide()
get_node("pausemenu").z_index = 5
get_node("Panel").show()
get_node("Panel").z_index = 5
stickspawner.connect("button_up", Spawn_Stick)
stickspawner.tooltip_text = "Cost: 10\nReturn: 5"
@ -109,3 +115,47 @@ func Spawn_Mortar() -> void:
func Spawn_Deleter() -> void:
var deleter = DELETER.instantiate()
get_parent().add_child(deleter)
func _unhandled_input(event):
if event is InputEventKey:
if event.pressed and event.keycode == KEY_ESCAPE:
get_node("pausemenu").show()
get_node("Panel").hide()
for i in get_node("../../Path2D").get_children():
i.get_children()[0].set_process(false)
for i in get_parent().get_children():
if i.name != "sidepanel":
i.set_process(false)
var timer_node = i.get_node("Timer") if i.has_node("Timer") else null
if timer_node:
timer_node.stop()
get_parent().get_parent().get_node("Timer").stop()
func _on_button_3_pressed() -> void:
get_node("pausemenu").hide()
get_node("Panel").show()
for i in get_node("../../Path2D").get_children():
i.get_children()[0].set_process(true)
for i in get_parent().get_children():
if i.name != "sidepanel":
i.set_process(true)
var timer_node = i.get_node("Timer") if i.has_node("Timer") else null
if timer_node:
timer_node.start()
get_parent().get_parent().get_node("Timer").start()
func _on_button_2_pressed() -> void:
get_tree().reload_current_scene()
func _on_button_pressed() -> void:
get_tree().change_scene_to_file("res://Game/Menu/main.tscn")