[gd_scene load_steps=12 format=3 uid="uid://c5ooi36ibspfo"] [ext_resource type="Script" path="res://ui/Menu.cs" id="1_5qxrt"] [ext_resource type="Script" path="res://ui/MultiplayerMenu.cs" id="2_3ulcb"] [ext_resource type="Script" path="res://ui/ControlsMenu.cs" id="3_jnj0g"] [sub_resource type="LabelSettings" id="LabelSettings_u8eqm"] font_size = 22 [sub_resource type="LabelSettings" id="LabelSettings_nmchh"] font_color = Color(0.75, 0.75, 0.75, 1) [sub_resource type="LabelSettings" id="LabelSettings_ianb0"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ulror"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_fwm45"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_2rjy4"] [sub_resource type="SystemFont" id="SystemFont_y3lqx"] font_names = PackedStringArray("Monospace") subpixel_positioning = 0 [sub_resource type="LabelSettings" id="LabelSettings_b1gi8"] font = SubResource("SystemFont_y3lqx") [node name="Menu" type="CenterContainer" node_paths=PackedStringArray("SideButtons", "Tabs")] offset_right = 586.0 offset_bottom = 386.0 mouse_filter = 0 script = ExtResource("1_5qxrt") SideButtons = NodePath("PanelContainer/MarginContainer/VBoxContainer/GridContainer/SideButtons") Tabs = NodePath("PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer") [node name="PanelContainer" type="PanelContainer" parent="."] layout_mode = 2 [node name="MarginContainer" type="MarginContainer" parent="PanelContainer"] layout_mode = 2 theme_override_constants/margin_left = 10 theme_override_constants/margin_top = 4 theme_override_constants/margin_right = 10 theme_override_constants/margin_bottom = 10 [node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer"] layout_mode = 2 [node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer"] layout_mode = 2 text = "Menu" label_settings = SubResource("LabelSettings_u8eqm") horizontal_alignment = 1 [node name="GridContainer" type="GridContainer" parent="PanelContainer/MarginContainer/VBoxContainer"] layout_mode = 2 theme_override_constants/h_separation = 6 theme_override_constants/v_separation = 6 columns = 2 [node name="SideButtons" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer"] custom_minimum_size = Vector2(160, 0) layout_mode = 2 [node name="Gameplay" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/SideButtons"] layout_mode = 2 toggle_mode = true text = "Gameplay" [node name="Multiplayer" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/SideButtons"] layout_mode = 2 toggle_mode = true text = "Multiplayer" [node name="Controls" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/SideButtons"] layout_mode = 2 toggle_mode = true text = "Controls" [node name="Graphics" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/SideButtons"] layout_mode = 2 toggle_mode = true text = "Graphics" [node name="Audio" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/SideButtons"] layout_mode = 2 toggle_mode = true text = "Audio" [node name="TabContainer" type="TabContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer"] custom_minimum_size = Vector2(400, 300) layout_mode = 2 size_flags_vertical = 3 current_tab = 1 tabs_visible = false use_hidden_tabs_for_min_size = true [node name="Gameplay" type="CenterContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer"] visible = false layout_mode = 2 [node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Gameplay"] layout_mode = 2 text = "Gameplay (nothing here yet)" horizontal_alignment = 1 [node name="Multiplayer" type="MarginContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer" node_paths=PackedStringArray("StatusLabel", "WhenDisconnected", "AddressInput", "PortInput", "ConnectButton", "HostButton", "WhenServer", "PortDisplay", "WhenConnected", "PlayersLabel", "DisconnectButton")] layout_mode = 2 theme_override_constants/margin_left = 8 theme_override_constants/margin_top = 8 theme_override_constants/margin_right = 8 theme_override_constants/margin_bottom = 8 script = ExtResource("2_3ulcb") StatusLabel = NodePath("VBoxContainer/HBoxContainer/Status") WhenDisconnected = NodePath("VBoxContainer/WhenDisconnected") AddressInput = NodePath("VBoxContainer/WhenDisconnected/HBoxContainer/Address") PortInput = NodePath("VBoxContainer/WhenDisconnected/HBoxContainer2/Port") ConnectButton = NodePath("VBoxContainer/WhenDisconnected/HBoxContainer/Connect") HostButton = NodePath("VBoxContainer/WhenDisconnected/HBoxContainer2/Create") WhenServer = NodePath("VBoxContainer/WhenServer") PortDisplay = NodePath("VBoxContainer/WhenServer/HBoxContainer/Port") WhenConnected = NodePath("VBoxContainer/WhenConnected") PlayersLabel = NodePath("VBoxContainer/WhenConnected/HBoxContainer/Players") DisconnectButton = NodePath("VBoxContainer/WhenConnected/Disconnect") [node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer"] layout_mode = 2 [node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer"] layout_mode = 2 [node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/HBoxContainer"] custom_minimum_size = Vector2(80, 0) layout_mode = 2 text = "Status: " horizontal_alignment = 2 [node name="Status" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/HBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 text = "Disconnected" label_settings = SubResource("LabelSettings_nmchh") horizontal_alignment = 1 [node name="WhenDisconnected" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer"] layout_mode = 2 [node name="HSeparator" type="HSeparator" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected"] layout_mode = 2 [node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected"] layout_mode = 2 text = "Connect to Server" label_settings = SubResource("LabelSettings_ianb0") [node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected"] layout_mode = 2 [node name="Address" type="LineEdit" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected/HBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 placeholder_text = "localhost:9713" virtual_keyboard_type = 6 secret = true [node name="ShowAddress" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected/HBoxContainer"] custom_minimum_size = Vector2(30, 0) layout_mode = 2 toggle_mode = true text = "👁" [node name="Connect" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected/HBoxContainer"] custom_minimum_size = Vector2(112, 0) layout_mode = 2 text = "Connect" [node name="HSeparator2" type="HSeparator" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected"] layout_mode = 2 [node name="Label2" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected"] layout_mode = 2 text = "Host a Server" [node name="HBoxContainer2" type="HBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected"] layout_mode = 2 [node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected/HBoxContainer2"] custom_minimum_size = Vector2(80, 0) layout_mode = 2 text = "Port: " horizontal_alignment = 2 [node name="Port" type="SpinBox" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected/HBoxContainer2"] layout_mode = 2 size_flags_horizontal = 3 min_value = 1024.0 max_value = 65535.0 value = 9713.0 rounded = true alignment = 2 [node name="Create" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected/HBoxContainer2"] custom_minimum_size = Vector2(112, 0) layout_mode = 2 text = "Create " [node name="HBoxContainer3" type="HBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected"] layout_mode = 2 [node name="WhenServer" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer"] visible = false layout_mode = 2 [node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenServer"] layout_mode = 2 [node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenServer/HBoxContainer"] custom_minimum_size = Vector2(80, 0) layout_mode = 2 text = "Port: " horizontal_alignment = 2 [node name="Port" type="LineEdit" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenServer/HBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 theme_override_styles/normal = SubResource("StyleBoxEmpty_ulror") theme_override_styles/focus = SubResource("StyleBoxEmpty_fwm45") theme_override_styles/read_only = SubResource("StyleBoxEmpty_2rjy4") text = "9713" alignment = 1 editable = false [node name="WhenConnected" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer"] visible = false layout_mode = 2 [node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenConnected"] layout_mode = 2 [node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenConnected/HBoxContainer"] custom_minimum_size = Vector2(80, 0) layout_mode = 2 text = "Players: " horizontal_alignment = 2 [node name="Players" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenConnected/HBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 text = "Singleplayer" horizontal_alignment = 1 [node name="Disconnect" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenConnected"] layout_mode = 2 size_flags_horizontal = 3 text = "Disconnect" [node name="Controls" type="MarginContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer" node_paths=PackedStringArray("DisplayX", "DisplayY", "SliderX", "SliderY", "InvertX", "InvertY")] visible = false layout_mode = 2 theme_override_constants/margin_left = 8 theme_override_constants/margin_top = 8 theme_override_constants/margin_right = 8 theme_override_constants/margin_bottom = 8 script = ExtResource("3_jnj0g") DisplayX = NodePath("ScrollContainer/VBoxContainer/GridContainer/DisplayX") DisplayY = NodePath("ScrollContainer/VBoxContainer/GridContainer/DisplayY") SliderX = NodePath("ScrollContainer/VBoxContainer/GridContainer/SliderX") SliderY = NodePath("ScrollContainer/VBoxContainer/GridContainer/SliderY") InvertX = NodePath("ScrollContainer/VBoxContainer/GridContainer/InvertX") InvertY = NodePath("ScrollContainer/VBoxContainer/GridContainer/InvertY") [node name="ScrollContainer" type="ScrollContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Controls"] layout_mode = 2 horizontal_scroll_mode = 0 [node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Controls/ScrollContainer"] layout_mode = 2 size_flags_horizontal = 3 [node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Controls/ScrollContainer/VBoxContainer"] layout_mode = 2 text = "Mouse Sensitivity" [node name="GridContainer" type="GridContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Controls/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_constants/h_separation = 12 columns = 4 [node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Controls/ScrollContainer/VBoxContainer/GridContainer"] custom_minimum_size = Vector2(32, 0) layout_mode = 2 text = "X:" horizontal_alignment = 2 [node name="DisplayX" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Controls/ScrollContainer/VBoxContainer/GridContainer"] layout_mode = 2 text = "0.20 " label_settings = SubResource("LabelSettings_b1gi8") [node name="SliderX" type="HSlider" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Controls/ScrollContainer/VBoxContainer/GridContainer"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 1 min_value = 0.02 max_value = 2.0 step = 0.02 value = 0.2 [node name="InvertX" type="CheckButton" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Controls/ScrollContainer/VBoxContainer/GridContainer"] layout_mode = 2 text = "Invert" [node name="Label2" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Controls/ScrollContainer/VBoxContainer/GridContainer"] custom_minimum_size = Vector2(32, 0) layout_mode = 2 text = "Y:" horizontal_alignment = 2 [node name="DisplayY" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Controls/ScrollContainer/VBoxContainer/GridContainer"] layout_mode = 2 text = "0.20 " label_settings = SubResource("LabelSettings_b1gi8") [node name="SliderY" type="HSlider" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Controls/ScrollContainer/VBoxContainer/GridContainer"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 1 min_value = 0.02 max_value = 2.0 step = 0.02 value = 0.2 [node name="InvertY" type="CheckButton" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Controls/ScrollContainer/VBoxContainer/GridContainer"] layout_mode = 2 text = "Invert" [node name="Graphics" type="CenterContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer"] visible = false layout_mode = 2 [node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Graphics"] layout_mode = 2 text = "Graphics (nothing here yet)" horizontal_alignment = 1 [node name="Audio" type="CenterContainer" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer"] visible = false layout_mode = 2 [node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Audio"] layout_mode = 2 text = "Audio (nothing here yet)" horizontal_alignment = 1 [node name="Quit" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer"] layout_mode = 2 text = "Quit to Desktop" [node name="Return" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/GridContainer"] layout_mode = 2 text = "Return to Game " [connection signal="tab_changed" from="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer" to="." method="OnTabChanged"] [connection signal="toggled" from="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected/HBoxContainer/ShowAddress" to="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer" method="OnShowAddressToggled"] [connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected/HBoxContainer/Connect" to="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer" method="OnConnectPressed"] [connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenDisconnected/HBoxContainer2/Create" to="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer" method="OnHostPressed"] [connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer/VBoxContainer/WhenConnected/Disconnect" to="PanelContainer/MarginContainer/VBoxContainer/GridContainer/TabContainer/Multiplayer" method="OnDisconnectPressed"] [connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/GridContainer/Quit" to="." method="OnQuitPressed"] [connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/GridContainer/Return" to="." method="OnReturnPressed"]