mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-10 16:04:04 +00:00
291 lines
9.9 KiB
Plaintext
291 lines
9.9 KiB
Plaintext
[gd_scene load_steps=3 format=3 uid="uid://bcq14356s3e2i"]
|
|
|
|
[ext_resource type="Script" path="res://scripts/main_menu.gd" id="1_menu"]
|
|
[ext_resource type="Theme" path="res://themes/cosmic_clash_theme.tres" id="2_theme"]
|
|
|
|
[node name="MainMenu" type="Control"]
|
|
layout_mode = 3
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
script = ExtResource("1_menu")
|
|
theme = ExtResource("2_theme")
|
|
|
|
[node name="CenterContainer" type="CenterContainer" parent="."]
|
|
layout_mode = 1
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
|
|
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer"]
|
|
custom_minimum_size = Vector2(420, 0)
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 10
|
|
|
|
[node name="TitleLabel" type="Label" parent="CenterContainer/VBoxContainer"]
|
|
layout_mode = 2
|
|
theme_override_font_sizes/font_size = 48
|
|
text = "Cosmic Clash"
|
|
horizontal_alignment = 1
|
|
|
|
[node name="SubtitleLabel" type="Label" parent="CenterContainer/VBoxContainer"]
|
|
modulate = Color(1, 1, 1, 0.55)
|
|
layout_mode = 2
|
|
theme_override_font_sizes/font_size = 16
|
|
text = "Physics-based soccer in space"
|
|
horizontal_alignment = 1
|
|
|
|
[node name="TitleSpacer" type="Control" parent="CenterContainer/VBoxContainer"]
|
|
custom_minimum_size = Vector2(0, 14)
|
|
layout_mode = 2
|
|
|
|
[node name="FreePlayButton" type="Button" parent="CenterContainer/VBoxContainer"]
|
|
custom_minimum_size = Vector2(0, 56)
|
|
layout_mode = 2
|
|
text = "Free Play"
|
|
|
|
[node name="FreePlayHint" type="Label" parent="CenterContainer/VBoxContainer"]
|
|
modulate = Color(1, 1, 1, 0.55)
|
|
layout_mode = 2
|
|
theme_override_font_sizes/font_size = 13
|
|
text = "Solo practice — no timer, R resets the ball"
|
|
horizontal_alignment = 1
|
|
|
|
[node name="ArenaRow" type="HBoxContainer" parent="CenterContainer/VBoxContainer"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 10
|
|
|
|
[node name="ArenaLabel" type="Label" parent="CenterContainer/VBoxContainer/ArenaRow"]
|
|
layout_mode = 2
|
|
text = "Arena"
|
|
|
|
[node name="ArenaDropdown" type="OptionButton" parent="CenterContainer/VBoxContainer/ArenaRow"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(0, 40)
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
|
|
[node name="MatchSeparator" type="HSeparator" parent="CenterContainer/VBoxContainer"]
|
|
layout_mode = 2
|
|
|
|
[node name="MatchHeader" type="Label" parent="CenterContainer/VBoxContainer"]
|
|
layout_mode = 2
|
|
theme_override_font_sizes/font_size = 22
|
|
text = "Match"
|
|
|
|
[node name="MatchHint" type="Label" parent="CenterContainer/VBoxContainer"]
|
|
modulate = Color(1, 1, 1, 0.55)
|
|
layout_mode = 2
|
|
theme_override_font_sizes/font_size = 13
|
|
text = "A 2:30 match — you vs a trained bot"
|
|
|
|
[node name="MatchRow" type="HBoxContainer" parent="CenterContainer/VBoxContainer"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 10
|
|
|
|
[node name="DifficultyLabel" type="Label" parent="CenterContainer/VBoxContainer/MatchRow"]
|
|
layout_mode = 2
|
|
text = "Difficulty"
|
|
|
|
[node name="DifficultyDropdown" type="OptionButton" parent="CenterContainer/VBoxContainer/MatchRow"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(0, 40)
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
|
|
[node name="MatchButton" type="Button" parent="CenterContainer/VBoxContainer"]
|
|
custom_minimum_size = Vector2(0, 56)
|
|
layout_mode = 2
|
|
text = "Play Match"
|
|
|
|
[node name="MultiplayerSeparator" type="HSeparator" parent="CenterContainer/VBoxContainer"]
|
|
layout_mode = 2
|
|
|
|
[node name="MultiplayerHeader" type="Label" parent="CenterContainer/VBoxContainer"]
|
|
layout_mode = 2
|
|
theme_override_font_sizes/font_size = 22
|
|
text = "Multiplayer"
|
|
|
|
[node name="MultiplayerHint" type="Label" parent="CenterContainer/VBoxContainer"]
|
|
modulate = Color(1, 1, 1, 0.55)
|
|
layout_mode = 2
|
|
theme_override_font_sizes/font_size = 13
|
|
text = "LAN / direct IP — host a match or join one"
|
|
|
|
[node name="FindMatchButton" type="Button" parent="CenterContainer/VBoxContainer"]
|
|
custom_minimum_size = Vector2(0, 48)
|
|
layout_mode = 2
|
|
text = "Find Match"
|
|
|
|
[node name="HostButton" type="Button" parent="CenterContainer/VBoxContainer"]
|
|
custom_minimum_size = Vector2(0, 48)
|
|
layout_mode = 2
|
|
text = "Host"
|
|
|
|
[node name="JoinRow" type="HBoxContainer" parent="CenterContainer/VBoxContainer"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 10
|
|
|
|
[node name="JoinAddressEdit" type="LineEdit" parent="CenterContainer/VBoxContainer/JoinRow"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(0, 40)
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
text = "127.0.0.1"
|
|
placeholder_text = "IP address"
|
|
|
|
[node name="JoinButton" type="Button" parent="CenterContainer/VBoxContainer/JoinRow"]
|
|
custom_minimum_size = Vector2(96, 40)
|
|
layout_mode = 2
|
|
text = "Join"
|
|
|
|
[node name="MultiplayerErrorLabel" type="Label" parent="CenterContainer/VBoxContainer"]
|
|
unique_name_in_owner = true
|
|
modulate = Color(1, 0.5, 0.5, 1)
|
|
layout_mode = 2
|
|
theme_override_font_sizes/font_size = 13
|
|
text = ""
|
|
autowrap_mode = 2
|
|
visible = false
|
|
|
|
[node name="SettingsSeparator" type="HSeparator" parent="CenterContainer/VBoxContainer"]
|
|
layout_mode = 2
|
|
|
|
[node name="SettingsButton" type="Button" parent="CenterContainer/VBoxContainer"]
|
|
custom_minimum_size = Vector2(0, 56)
|
|
layout_mode = 2
|
|
text = "Settings"
|
|
|
|
[node name="DevSection" type="VBoxContainer" parent="CenterContainer/VBoxContainer"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 10
|
|
|
|
[node name="DevSeparator" type="HSeparator" parent="CenterContainer/VBoxContainer/DevSection"]
|
|
layout_mode = 2
|
|
|
|
[node name="DevHeader" type="Label" parent="CenterContainer/VBoxContainer/DevSection"]
|
|
layout_mode = 2
|
|
theme_override_font_sizes/font_size = 22
|
|
text = "Developer"
|
|
|
|
[node name="DevHint" type="Label" parent="CenterContainer/VBoxContainer/DevSection"]
|
|
modulate = Color(1, 1, 1, 0.55)
|
|
layout_mode = 2
|
|
theme_override_font_sizes/font_size = 13
|
|
text = "Dev-only — hidden in release builds"
|
|
|
|
[node name="DevOpponentRow" type="HBoxContainer" parent="CenterContainer/VBoxContainer/DevSection"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 10
|
|
|
|
[node name="DevOpponentLabel" type="Label" parent="CenterContainer/VBoxContainer/DevSection/DevOpponentRow"]
|
|
layout_mode = 2
|
|
text = "Opponent override"
|
|
|
|
[node name="DevBotDropdown" type="OptionButton" parent="CenterContainer/VBoxContainer/DevSection/DevOpponentRow"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(0, 40)
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
|
|
[node name="SpectateSeparator" type="HSeparator" parent="CenterContainer/VBoxContainer/DevSection"]
|
|
layout_mode = 2
|
|
|
|
[node name="SpectateHeader" type="Label" parent="CenterContainer/VBoxContainer/DevSection"]
|
|
layout_mode = 2
|
|
theme_override_font_sizes/font_size = 22
|
|
text = "Spectate"
|
|
|
|
[node name="SpectateHint" type="Label" parent="CenterContainer/VBoxContainer/DevSection"]
|
|
modulate = Color(1, 1, 1, 0.55)
|
|
layout_mode = 2
|
|
theme_override_font_sizes/font_size = 13
|
|
text = "Watch two bots play each other"
|
|
|
|
[node name="SpectateRow" type="HBoxContainer" parent="CenterContainer/VBoxContainer/DevSection"]
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 10
|
|
|
|
[node name="BotADropdown" type="OptionButton" parent="CenterContainer/VBoxContainer/DevSection/SpectateRow"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(0, 40)
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
|
|
[node name="VsLabel" type="Label" parent="CenterContainer/VBoxContainer/DevSection/SpectateRow"]
|
|
layout_mode = 2
|
|
text = "vs"
|
|
|
|
[node name="BotBDropdown" type="OptionButton" parent="CenterContainer/VBoxContainer/DevSection/SpectateRow"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(0, 40)
|
|
layout_mode = 2
|
|
size_flags_horizontal = 3
|
|
|
|
[node name="SpectateButton" type="Button" parent="CenterContainer/VBoxContainer/DevSection"]
|
|
custom_minimum_size = Vector2(0, 56)
|
|
layout_mode = 2
|
|
text = "Watch Match"
|
|
|
|
[node name="ConnectingOverlay" type="Control" parent="."]
|
|
unique_name_in_owner = true
|
|
visible = false
|
|
layout_mode = 1
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
mouse_filter = 1
|
|
|
|
[node name="Backdrop" type="ColorRect" parent="ConnectingOverlay"]
|
|
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.7)
|
|
|
|
[node name="CenterContainer" type="CenterContainer" parent="ConnectingOverlay"]
|
|
layout_mode = 1
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
grow_horizontal = 2
|
|
grow_vertical = 2
|
|
|
|
[node name="VBoxContainer" type="VBoxContainer" parent="ConnectingOverlay/CenterContainer"]
|
|
custom_minimum_size = Vector2(360, 0)
|
|
layout_mode = 2
|
|
theme_override_constants/separation = 14
|
|
|
|
[node name="ConnectingStatusLabel" type="Label" parent="ConnectingOverlay/CenterContainer/VBoxContainer"]
|
|
unique_name_in_owner = true
|
|
layout_mode = 2
|
|
theme_override_font_sizes/font_size = 18
|
|
text = "Connecting..."
|
|
horizontal_alignment = 1
|
|
autowrap_mode = 2
|
|
|
|
[node name="ConnectingCancelButton" type="Button" parent="ConnectingOverlay/CenterContainer/VBoxContainer"]
|
|
unique_name_in_owner = true
|
|
custom_minimum_size = Vector2(0, 48)
|
|
layout_mode = 2
|
|
text = "Cancel"
|
|
|
|
[connection signal="pressed" from="CenterContainer/VBoxContainer/FreePlayButton" to="." method="_on_free_play_pressed"]
|
|
[connection signal="pressed" from="CenterContainer/VBoxContainer/MatchButton" to="." method="_on_match_pressed"]
|
|
[connection signal="pressed" from="CenterContainer/VBoxContainer/FindMatchButton" to="." method="_on_find_match_pressed"]
|
|
[connection signal="pressed" from="CenterContainer/VBoxContainer/HostButton" to="." method="_on_host_pressed"]
|
|
[connection signal="pressed" from="CenterContainer/VBoxContainer/JoinRow/JoinButton" to="." method="_on_join_pressed"]
|
|
[connection signal="text_submitted" from="CenterContainer/VBoxContainer/JoinRow/JoinAddressEdit" to="." method="_on_join_address_submitted"]
|
|
[connection signal="pressed" from="CenterContainer/VBoxContainer/SettingsButton" to="." method="_on_settings_pressed"]
|
|
[connection signal="pressed" from="CenterContainer/VBoxContainer/DevSection/SpectateButton" to="." method="_on_spectate_pressed"]
|
|
[connection signal="pressed" from="ConnectingOverlay/CenterContainer/VBoxContainer/ConnectingCancelButton" to="." method="_on_connecting_cancel_pressed"]
|