implement level menu
This commit is contained in:
parent
b275630598
commit
6831dd3a3f
8 changed files with 185 additions and 5 deletions
24
gmtk_2024/scripts/level_menu_level_button.gd
Normal file
24
gmtk_2024/scripts/level_menu_level_button.gd
Normal 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)
|
13
gmtk_2024/scripts/level_select.gd
Normal file
13
gmtk_2024/scripts/level_select.gd
Normal 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")
|
|
@ -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")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue