Game picker and save browser: menu window shell, background warm-up
The main menu warms every ready game's mods up into the assembly cache in the background (last played first), so picking a game only loads cached assemblies. Game picker and save browser are scenes on the shared MenuWindowShell (also used by the settings): caps title, close on the right, footer hint; the picker footer shows the warm-up state, cards get framed covers with a letter placeholder and Continue as the main action; the save browser shows 3x2 large cards with the game selector in the header. new_game waits for the warm-up; menu_flow takes --shots.
This commit is contained in:
1 parent
9bd0483af9
commit
f04a2a3661
13 files changed
+500
-210
No files matched your search
@@ -1,84 +1,131 @@
|
||||
[gd_scene load_steps=3 format=3]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource type="Script" path="src/SaveLoadMenu.cs" id="SaveLoadMenuScript"]
|
||||
[ext_resource type="Script" path="src/SaveSlotList.cs" id="SaveSlotListScript"]
|
||||
|
||||
[node name="SaveLoadMenu" type="Control"]
|
||||
[node name="SaveLoadMenu" type="Control" unique_id=1300922993]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 1
|
||||
script = ExtResource("SaveLoadMenuScript")
|
||||
|
||||
[node name="Bg" type="ColorRect" parent="."]
|
||||
[node name="Backdrop" type="ColorRect" parent="." unique_id=1957446002]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0, 0, 0, 0.65)
|
||||
color = Color(0, 0, 0, 0.9)
|
||||
|
||||
[node name="Panel" type="Panel" parent="."]
|
||||
[node name="Window" type="PanelContainer" parent="." unique_id=1214442353]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -420.0
|
||||
offset_top = -280.0
|
||||
offset_right = 420.0
|
||||
offset_bottom = 280.0
|
||||
offset_left = -500.0
|
||||
offset_top = -350.0
|
||||
offset_right = 500.0
|
||||
offset_bottom = 350.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Margin" type="MarginContainer" parent="Panel"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/margin_left = 28
|
||||
theme_override_constants/margin_top = 20
|
||||
theme_override_constants/margin_right = 28
|
||||
theme_override_constants/margin_bottom = 20
|
||||
|
||||
[node name="VBox" type="VBoxContainer" parent="Panel/Margin"]
|
||||
[node name="Column" type="VBoxContainer" parent="Window" unique_id=154632647]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 14
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="Title" type="Label" parent="Panel/Margin/VBox"]
|
||||
[node name="Header" type="MarginContainer" parent="Window/Column" unique_id=255743212]
|
||||
layout_mode = 2
|
||||
text = "Save/Load"
|
||||
horizontal_alignment = 1
|
||||
theme_override_font_sizes/font_size = 24
|
||||
theme_override_constants/margin_left = 24
|
||||
theme_override_constants/margin_top = 16
|
||||
theme_override_constants/margin_right = 16
|
||||
theme_override_constants/margin_bottom = 16
|
||||
|
||||
[node name="GameSelect" type="OptionButton" parent="Panel/Margin/VBox"]
|
||||
[node name="Row" type="HBoxContainer" parent="Window/Column/Header" unique_id=1566510433]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 24
|
||||
|
||||
[node name="Scroll" type="ScrollContainer" parent="Panel/Margin/VBox"]
|
||||
[node name="Title" type="Label" parent="Window/Column/Header/Row" unique_id=1345868865]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
text = "Load"
|
||||
uppercase = true
|
||||
|
||||
[node name="GameSelect" type="OptionButton" parent="Window/Column/Header/Row" unique_id=1531297566]
|
||||
custom_minimum_size = Vector2(280, 0)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
|
||||
[node name="Spacer" type="Control" parent="Window/Column/Header/Row" unique_id=739525391]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="CloseButton" type="Button" parent="Window/Column/Header/Row" unique_id=1063180782]
|
||||
layout_mode = 2
|
||||
custom_minimum_size = Vector2(38, 38)
|
||||
size_flags_vertical = 4
|
||||
focus_mode = 0
|
||||
text = "✕"
|
||||
|
||||
[node name="RuleHeader" type="ColorRect" parent="Window/Column" unique_id=1844886327]
|
||||
custom_minimum_size = Vector2(0, 1)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Body" type="MarginContainer" parent="Window/Column" unique_id=280231313]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/margin_left = 24
|
||||
theme_override_constants/margin_top = 20
|
||||
theme_override_constants/margin_right = 24
|
||||
theme_override_constants/margin_bottom = 20
|
||||
|
||||
[node name="Content" type="VBoxContainer" parent="Window/Column/Body" unique_id=1998936353]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 12
|
||||
|
||||
[node name="Scroll" type="ScrollContainer" parent="Window/Column/Body/Content" unique_id=131125275]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
custom_minimum_size = Vector2(0, 380)
|
||||
horizontal_scroll_mode = 0
|
||||
|
||||
[node name="SlotGrid" type="Control" parent="Panel/Margin/VBox/Scroll"]
|
||||
[node name="SlotGrid" type="Control" parent="Window/Column/Body/Content/Scroll" unique_id=702369365]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
script = ExtResource("SaveSlotListScript")
|
||||
ColumnCount = 3
|
||||
RowCount = 2
|
||||
SlotPadding = 14.0
|
||||
|
||||
[node name="EmptyLabel" type="Label" parent="Panel/Margin/VBox"]
|
||||
[node name="EmptyLabel" type="Label" parent="Window/Column/Body/Content" unique_id=1909778806]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
visible = false
|
||||
|
||||
[node name="BackBtn" type="Button" parent="Panel/Margin/VBox"]
|
||||
[node name="RuleFooter" type="ColorRect" parent="Window/Column" unique_id=225368463]
|
||||
custom_minimum_size = Vector2(0, 1)
|
||||
layout_mode = 2
|
||||
text = "Back"
|
||||
size_flags_horizontal = 8
|
||||
|
||||
[node name="Footer" type="MarginContainer" parent="Window/Column" unique_id=775810662]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 24
|
||||
theme_override_constants/margin_top = 12
|
||||
theme_override_constants/margin_right = 24
|
||||
theme_override_constants/margin_bottom = 12
|
||||
|
||||
[node name="Row" type="HBoxContainer" parent="Window/Column/Footer" unique_id=1592632905]
|
||||
custom_minimum_size = Vector2(0, 38)
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 12
|
||||
|
||||
[node name="Hint" type="Label" parent="Window/Column/Footer/Row" unique_id=1935428591]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 4
|
||||
Reference in new issue
Block a user