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.
132 lines
4.0 KiB
Plaintext
132 lines
4.0 KiB
Plaintext
[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" unique_id=1300922993]
|
|
layout_mode = 3
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
script = ExtResource("SaveLoadMenuScript")
|
|
|
|
[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.9)
|
|
|
|
[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 = -500.0
|
|
offset_top = -350.0
|
|
offset_right = 500.0
|
|
offset_bottom = 350.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
|
|
[node name="Column" type="VBoxContainer" parent="Window" unique_id=154632647]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 0
|
|
|
|
[node name="Header" type="MarginContainer" parent="Window/Column" unique_id=255743212]
|
|
layout_mode = 2
|
|
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="Row" type="HBoxContainer" parent="Window/Column/Header" unique_id=1566510433]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 24
|
|
|
|
[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
|
|
horizontal_scroll_mode = 0
|
|
|
|
[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="Window/Column/Body/Content" unique_id=1909778806]
|
|
layout_mode = 2
|
|
size_flags_vertical = 3
|
|
horizontal_alignment = 1
|
|
vertical_alignment = 1
|
|
visible = false
|
|
|
|
[node name="RuleFooter" type="ColorRect" parent="Window/Column" unique_id=225368463]
|
|
custom_minimum_size = Vector2(0, 1)
|
|
layout_mode = 2
|
|
|
|
[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
|