fix: pause menu cleanup
This commit is contained in:
parent
b79780835e
commit
406d7e5002
|
|
@ -10,7 +10,7 @@ var normal_boot : bool = false
|
||||||
@onready var curtain: Curtain = %Curtain
|
@onready var curtain: Curtain = %Curtain
|
||||||
@onready var credits_roll: Control = %CreditsRoll
|
@onready var credits_roll: Control = %CreditsRoll
|
||||||
@onready var main_menu: MainMenu = %MainMenu
|
@onready var main_menu: MainMenu = %MainMenu
|
||||||
@onready var pause_menu: PauseManu = %PauseMenu
|
@onready var pause_menu: PauseMenu = %PauseMenu
|
||||||
|
|
||||||
@onready var room_paths := {
|
@onready var room_paths := {
|
||||||
State.rooms.NULL: youth_room_path, # Maybe Draven story?
|
State.rooms.NULL: youth_room_path, # Maybe Draven story?
|
||||||
|
|
@ -22,11 +22,11 @@ var normal_boot : bool = false
|
||||||
|
|
||||||
enum AppState {BOOT, MENU, PLAY, PAUSE, CREDITS}
|
enum AppState {BOOT, MENU, PLAY, PAUSE, CREDITS}
|
||||||
|
|
||||||
var app_state: AppState = AppState.BOOT:
|
var state: AppState = AppState.BOOT:
|
||||||
set(value):
|
set(value):
|
||||||
app_state = value
|
state = value
|
||||||
print("main.gd: app_state changing to: %s" % str(app_state))
|
print("main.gd: app_state changing to: %s" % str(state))
|
||||||
match app_state:
|
match state:
|
||||||
AppState.BOOT:
|
AppState.BOOT:
|
||||||
credits_roll.hide()
|
credits_roll.hide()
|
||||||
main_menu.hide()
|
main_menu.hide()
|
||||||
|
|
@ -53,18 +53,18 @@ func _enter_tree() -> void:
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
print("main.gd: _ready()")
|
print("main.gd: _ready()")
|
||||||
main_menu.continue_button.pressed.connect(func(): app_state = AppState.PLAY)
|
main_menu.continue_button.pressed.connect(func(): state = AppState.PLAY)
|
||||||
main_menu.credits_button.pressed.connect(func(): app_state = AppState.CREDITS)
|
main_menu.credits_button.pressed.connect(func(): state = AppState.CREDITS)
|
||||||
|
|
||||||
#TODO: Load the last savegame(?)
|
#TODO: Load the last savegame(?)
|
||||||
await %Loading.stop()
|
await %Loading.stop()
|
||||||
|
|
||||||
if normal_boot:
|
if normal_boot:
|
||||||
print("main.gd: normal boot (loading last save and showing main menu)")
|
print("main.gd: normal boot (loading last save and showing main menu)")
|
||||||
app_state = AppState.MENU
|
state = AppState.MENU
|
||||||
else:
|
else:
|
||||||
print("main.gd: direct boot (hiding menus and entering main loop)")
|
print("main.gd: direct boot (hiding menus and entering main loop)")
|
||||||
app_state = AppState.PLAY
|
state = AppState.PLAY
|
||||||
|
|
||||||
|
|
||||||
func start_game(save: SaveGame) -> void:
|
func start_game(save: SaveGame) -> void:
|
||||||
|
|
@ -90,8 +90,8 @@ func _load_room(scene_path: String) -> void:
|
||||||
ResourceLoader.load_threaded_request(scene_path, "PackedScene", true)
|
ResourceLoader.load_threaded_request(scene_path, "PackedScene", true)
|
||||||
while true:
|
while true:
|
||||||
await get_tree().process_frame
|
await get_tree().process_frame
|
||||||
var state := ResourceLoader.load_threaded_get_status(scene_path)
|
var load_state := ResourceLoader.load_threaded_get_status(scene_path)
|
||||||
match state:
|
match load_state:
|
||||||
ResourceLoader.THREAD_LOAD_LOADED:
|
ResourceLoader.THREAD_LOAD_LOADED:
|
||||||
var next_scene := ResourceLoader.load_threaded_get(scene_path) as PackedScene
|
var next_scene := ResourceLoader.load_threaded_get(scene_path) as PackedScene
|
||||||
State.room = next_scene.instantiate() as Room
|
State.room = next_scene.instantiate() as Room
|
||||||
|
|
@ -104,3 +104,8 @@ func _load_room(scene_path: String) -> void:
|
||||||
break
|
break
|
||||||
|
|
||||||
assert(false, "Couldn't load room %s" % scene_path)
|
assert(false, "Couldn't load room %s" % scene_path)
|
||||||
|
|
||||||
|
|
||||||
|
func _unhandled_input(event: InputEvent) -> void:
|
||||||
|
if event.is_action_pressed("ui_cancel"):
|
||||||
|
state = AppState.PAUSE
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,8 @@ layout_mode = 1
|
||||||
visible = false
|
visible = false
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
|
|
||||||
[node name="PauseContainer" type="CenterContainer" parent="."]
|
[node name="PauseMenu" type="Control" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
visible = false
|
visible = false
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
|
|
@ -138,68 +139,80 @@ anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
|
|
||||||
[node name="TextureRect" type="TextureRect" parent="PauseContainer"]
|
|
||||||
material = SubResource("ShaderMaterial_knlqd")
|
|
||||||
layout_mode = 2
|
|
||||||
texture = SubResource("GradientTexture2D_swtmc")
|
|
||||||
|
|
||||||
[node name="PauseMenu" type="PanelContainer" parent="PauseContainer"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
layout_mode = 2
|
|
||||||
script = ExtResource("9_ihfph")
|
script = ExtResource("9_ihfph")
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="PauseContainer/PauseMenu"]
|
[node name="TextureRect" type="TextureRect" parent="PauseMenu"]
|
||||||
modulate = Color(1, 1, 1, 0)
|
material = SubResource("ShaderMaterial_knlqd")
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
texture = SubResource("GradientTexture2D_swtmc")
|
||||||
|
expand_mode = 5
|
||||||
|
|
||||||
|
[node name="PauseContainer" type="CenterContainer" parent="PauseMenu"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="PauseMenu" type="PanelContainer" parent="PauseMenu/PauseContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
[node name="VBoxContainer" type="VBoxContainer" parent="PauseMenu/PauseContainer/PauseMenu"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="PauseMenu/PauseContainer/PauseMenu/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_type_variation = &"HeaderLarge"
|
theme_type_variation = &"HeaderLarge"
|
||||||
text = "Game Paused"
|
text = "Game Paused"
|
||||||
|
|
||||||
[node name="ResumeButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
[node name="ResumeButton" type="Button" parent="PauseMenu/PauseContainer/PauseMenu/VBoxContainer"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Resume"
|
text = "Resume"
|
||||||
|
|
||||||
[node name="BugButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
[node name="BugButton" type="Button" parent="PauseMenu/PauseContainer/PauseMenu/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
script = ExtResource("12_cegan")
|
script = ExtResource("12_cegan")
|
||||||
metadata/_custom_type_script = "uid://sa15wakvpj2e"
|
metadata/_custom_type_script = "uid://sa15wakvpj2e"
|
||||||
|
|
||||||
[node name="ToMenuButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
[node name="ToMenuButton" type="Button" parent="PauseMenu/PauseContainer/PauseMenu/VBoxContainer"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
visible = false
|
visible = false
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Return to Menu"
|
text = "Return to Menu"
|
||||||
|
|
||||||
[node name="ToSettingsButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
[node name="ToSettingsButton" type="Button" parent="PauseMenu/PauseContainer/PauseMenu/VBoxContainer"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
visible = false
|
visible = false
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Open Settings"
|
text = "Open Settings"
|
||||||
|
|
||||||
[node name="ToDesktopButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
[node name="ToDesktopButton" type="Button" parent="PauseMenu/PauseContainer/PauseMenu/VBoxContainer"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Quit to Desktop"
|
text = "Quit to Desktop"
|
||||||
|
|
||||||
[node name="HSeparator" type="HSeparator" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
[node name="HSeparator" type="HSeparator" parent="PauseMenu/PauseContainer/PauseMenu/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(0, 20)
|
custom_minimum_size = Vector2(0, 20)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="FindHelplineButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
[node name="FindHelplineButton" type="Button" parent="PauseMenu/PauseContainer/PauseMenu/VBoxContainer"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Find Help-Lines"
|
text = "Find Help-Lines"
|
||||||
|
|
||||||
[node name="Label2" type="Label" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
[node name="Label2" type="Label" parent="PauseMenu/PauseContainer/PauseMenu/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "opens findahelpline.com"
|
text = "opens findahelpline.com"
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
|
|
||||||
[node name="SkipStoryButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
[node name="SkipStoryButton" type="Button" parent="PauseMenu/PauseContainer/PauseMenu/VBoxContainer"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
visible = false
|
visible = false
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
class_name PauseManu extends PanelContainer
|
class_name PauseMenu extends Control
|
||||||
|
|
||||||
@onready var resume_button = %ResumeButton
|
@onready var resume_button := %ResumeButton
|
||||||
@onready var to_menu_button = %ToMenuButton
|
@onready var to_menu_button := %ToMenuButton
|
||||||
@onready var to_settings_button = %ToSettingsButton
|
@onready var to_settings_button := %ToSettingsButton
|
||||||
@onready var to_desktop_button = %ToDesktopButton
|
@onready var to_desktop_button := %ToDesktopButton
|
||||||
@onready var helpline_button = %FindHelplineButton
|
@onready var helpline_button := %FindHelplineButton
|
||||||
@onready var skip_story_button = %SkipStoryButton
|
@onready var skip_story_button := %SkipStoryButton
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
resume_button.pressed.connect(func(): Main.app_state = Main.AppState.PLAY)
|
resume_button.pressed.connect(func(): Main.state = Main.AppState.PLAY)
|
||||||
#to_menu_button.pressed.connect(_process)
|
#to_menu_button.pressed.connect(_process)
|
||||||
to_desktop_button.pressed.connect(func(): get_tree().quit())
|
to_desktop_button.pressed.connect(func(): get_tree().quit())
|
||||||
#to_settings_button.pressed.connect(_process)
|
#to_settings_button.pressed.connect(_process)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue