implement level menu

This commit is contained in:
Fabio 2024-08-17 18:06:43 +02:00
parent b275630598
commit 6831dd3a3f
8 changed files with 185 additions and 5 deletions

View file

@ -0,0 +1,24 @@
@tool
extends TextureButton
signal level_selected
@export var level_num: int = 1
@export var locked: bool = true:
set(value):
locked = value
level_locked() if locked else level_unlocked()
func level_locked() -> void:
level_state(true)
func level_unlocked() -> void:
level_state(false)
func level_state(value: bool) -> void:
disabled = value
$Label.visible = not value
func _on_pressed():
level_selected.emit(level_num)

View file

@ -0,0 +1,13 @@
extends Control
func _ready():
setup_level_box()
func setup_level_box():
for box in $Background/ClipControl/GridContainer.get_children():
box.level_num = box.get_index() + 1
box.locked = false
func _on_quit_button_pressed():
get_tree().change_scene_to_file("res://menu/main_menu/MainMenu.tscn")

View file

@ -57,7 +57,7 @@ func _show_menu_options() -> void:
func _on_start_button_pressed() -> void:
print("Start Button Clicked")
get_tree().change_scene_to_file("res://menu/level_menu/level_select.tscn")
func _on_credits_button_pressed() -> void:
get_tree().change_scene_to_file("res://menu/main_menu/CreditsScene.tscn")