[gd_scene load_steps=5 format=3] [ext_resource type="Script" path="res://ui/network/join_game_page.gd" id="1_script"] [ext_resource type="Theme" path="res://ui/game_theme.tres" id="2_theme"] [ext_resource type="Script" path="res://ui/components/organizer_tab.gd" id="3_tab"] [ext_resource type="PackedScene" path="res://ui/components/bubble_menu/bubble_confirmation_page.tscn" id="4_confirmation"] [node name="JoinGamePage" type="Control"] visible = false layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 theme = ExtResource("2_theme") script = ExtResource("1_script") [node name="MainPanel" type="PanelContainer" parent="."] unique_name_in_owner = true layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 offset_left = -440.0 offset_top = -330.0 offset_right = 440.0 offset_bottom = 330.0 grow_horizontal = 2 grow_vertical = 2 [node name="OuterMargin" type="MarginContainer" parent="MainPanel"] layout_mode = 2 theme_override_constants/margin_left = 24 theme_override_constants/margin_top = 18 theme_override_constants/margin_right = 24 theme_override_constants/margin_bottom = 18 [node name="Layout" type="VBoxContainer" parent="MainPanel/OuterMargin"] layout_mode = 2 theme_override_constants/separation = -26 [node name="Heading" type="Label" parent="MainPanel/OuterMargin/Layout"] custom_minimum_size = Vector2(0, 66) layout_mode = 2 theme_override_font_sizes/font_size = 30 text = "join game" horizontal_alignment = 1 [node name="TabBar" type="HBoxContainer" parent="MainPanel/OuterMargin/Layout"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 52) layout_mode = 2 theme_override_constants/separation = 8 alignment = 1 [node name="DiscoverButton" type="Button" parent="MainPanel/OuterMargin/Layout/TabBar"] unique_name_in_owner = true custom_minimum_size = Vector2(165, 52) layout_mode = 2 focus_mode = 2 text = "discover" script = ExtResource("3_tab") [node name="FriendsButton" type="Button" parent="MainPanel/OuterMargin/Layout/TabBar"] unique_name_in_owner = true custom_minimum_size = Vector2(140, 52) layout_mode = 2 focus_mode = 2 text = "friends" script = ExtResource("3_tab") palette_index = 1 [node name="DirectButton" type="Button" parent="MainPanel/OuterMargin/Layout/TabBar"] unique_name_in_owner = true custom_minimum_size = Vector2(140, 52) layout_mode = 2 focus_mode = 2 text = "direct" script = ExtResource("3_tab") palette_index = 1 [node name="SavedButton" type="Button" parent="MainPanel/OuterMargin/Layout/TabBar"] unique_name_in_owner = true custom_minimum_size = Vector2(140, 52) layout_mode = 2 focus_mode = 2 text = "saved" script = ExtResource("3_tab") palette_index = 2 [node name="RecentButton" type="Button" parent="MainPanel/OuterMargin/Layout/TabBar"] unique_name_in_owner = true custom_minimum_size = Vector2(140, 52) layout_mode = 2 focus_mode = 2 text = "recent" script = ExtResource("3_tab") palette_index = 1 [node name="ContentPanel" type="PanelContainer" parent="MainPanel/OuterMargin/Layout"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 474) layout_mode = 2 size_flags_vertical = 3 [node name="ContentMargin" type="MarginContainer" parent="MainPanel/OuterMargin/Layout/ContentPanel"] layout_mode = 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="ContentLayout" type="VBoxContainer" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin"] layout_mode = 2 theme_override_constants/separation = 12 [node name="PageStack" type="Control" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout"] layout_mode = 2 size_flags_vertical = 3 [node name="ListContent" type="VBoxContainer" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack"] unique_name_in_owner = true layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 theme_override_constants/separation = 10 [node name="ListTitle" type="Label" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/ListContent"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 28) layout_mode = 2 theme_override_font_sizes/font_size = 20 text = "public rooms" [node name="OnlineControls" type="HBoxContainer" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/ListContent"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 42) layout_mode = 2 theme_override_constants/separation = 10 [node name="OnlineControlsSpacer" type="Control" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/ListContent/OnlineControls"] layout_mode = 2 size_flags_horizontal = 3 [node name="RoomOpenButton" type="Button" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/ListContent/OnlineControls"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(160, 42) layout_mode = 2 focus_mode = 2 text = "room: closed" [node name="RoomListingButton" type="Button" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/ListContent/OnlineControls"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(180, 42) layout_mode = 2 focus_mode = 2 text = "listing: off" [node name="ServerList" type="ItemList" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/ListContent"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 140) layout_mode = 2 size_flags_vertical = 3 theme_override_font_sizes/font_size = 17 allow_reselect = true same_column_width = true [node name="DetailsPanel" type="PanelContainer" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/ListContent"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 [node name="Details" type="Label" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/ListContent/DetailsPanel"] unique_name_in_owner = true layout_mode = 2 theme_override_font_sizes/font_size = 15 text = "Select a server." horizontal_alignment = 1 vertical_alignment = 1 autowrap_mode = 2 [node name="DirectContent" type="VBoxContainer" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack"] 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 theme_override_constants/separation = 10 [node name="AddressLabel" type="Label" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/DirectContent"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 28) layout_mode = 2 theme_override_font_sizes/font_size = 20 text = "server address" [node name="Address" type="LineEdit" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/DirectContent"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 46) layout_mode = 2 focus_mode = 2 theme_override_font_sizes/font_size = 19 placeholder_text = "example.net or 192.168.1.50:7777" alignment = 1 max_length = 300 [node name="AddressHelper" type="Label" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/DirectContent"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 48) layout_mode = 2 theme_override_font_sizes/font_size = 13 text = "Hostname, IPv4, or [IPv6]. Port 7777 is used when omitted; include the port shown by a host when it differs.\nJoin Now connects once; Save Server stores this address locally." horizontal_alignment = 1 vertical_alignment = 1 autowrap_mode = 2 [node name="NameLabel" type="Label" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/DirectContent"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(0, 24) layout_mode = 2 theme_override_font_sizes/font_size = 16 text = "server name" [node name="NameEdit" type="LineEdit" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/DirectContent"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(0, 46) layout_mode = 2 focus_mode = 2 theme_override_font_sizes/font_size = 19 placeholder_text = "Friend's server" alignment = 1 max_length = 80 [node name="NameHelper" type="Label" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/DirectContent"] unique_name_in_owner = true visible = false layout_mode = 2 theme_override_font_sizes/font_size = 13 text = "Only visible on this device." horizontal_alignment = 1 [node name="Spacer" type="Control" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/PageStack/DirectContent"] layout_mode = 2 size_flags_vertical = 3 [node name="Actions" type="HBoxContainer" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 46) layout_mode = 2 theme_override_constants/separation = 10 [node name="PresenceButton" type="Button" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/Actions"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(210, 46) layout_mode = 2 focus_mode = 2 text = "friends: offline" [node name="ActionsSpacer" type="Control" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/Actions"] layout_mode = 2 size_flags_horizontal = 3 [node name="RefreshButton" type="Button" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/Actions"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(120, 46) layout_mode = 2 focus_mode = 2 text = "refresh" [node name="JoinButton" type="Button" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/Actions"] unique_name_in_owner = true custom_minimum_size = Vector2(120, 46) layout_mode = 2 focus_mode = 2 text = "join" [node name="SaveButton" type="Button" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/Actions"] unique_name_in_owner = true custom_minimum_size = Vector2(130, 46) layout_mode = 2 focus_mode = 2 text = "save server" [node name="EditButton" type="Button" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/Actions"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(110, 46) layout_mode = 2 focus_mode = 2 text = "edit" [node name="FavoriteButton" type="Button" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/Actions"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(130, 46) layout_mode = 2 focus_mode = 2 text = "favorite" [node name="DeleteButton" type="Button" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/Actions"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(110, 46) layout_mode = 2 focus_mode = 2 text = "delete" [node name="CancelButton" type="Button" parent="MainPanel/OuterMargin/Layout/ContentPanel/ContentMargin/ContentLayout/Actions"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(120, 46) layout_mode = 2 focus_mode = 2 text = "cancel" [node name="FooterGroup" type="MarginContainer" parent="MainPanel/OuterMargin/Layout"] layout_mode = 2 theme_override_constants/margin_top = 34 [node name="FooterLayout" type="VBoxContainer" parent="MainPanel/OuterMargin/Layout/FooterGroup"] layout_mode = 2 theme_override_constants/separation = 8 [node name="InfoRow" type="HBoxContainer" parent="MainPanel/OuterMargin/Layout/FooterGroup/FooterLayout"] layout_mode = 2 theme_override_constants/separation = 12 [node name="Status" type="Label" parent="MainPanel/OuterMargin/Layout/FooterGroup/FooterLayout/InfoRow"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 24) layout_mode = 2 size_flags_horizontal = 3 theme_override_font_sizes/font_size = 14 text = "looking for public rooms…" vertical_alignment = 1 text_overrun_behavior = 3 [node name="SessionSummary" type="Label" parent="MainPanel/OuterMargin/Layout/FooterGroup/FooterLayout/InfoRow"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(210, 24) layout_mode = 2 theme_override_font_sizes/font_size = 14 text = "1 / 8 players" horizontal_alignment = 2 vertical_alignment = 1 [node name="Footer" type="HBoxContainer" parent="MainPanel/OuterMargin/Layout/FooterGroup/FooterLayout"] layout_mode = 2 alignment = 2 [node name="BackButton" type="Button" parent="MainPanel/OuterMargin/Layout/FooterGroup/FooterLayout/Footer"] unique_name_in_owner = true custom_minimum_size = Vector2(150, 46) layout_mode = 2 focus_mode = 2 text = "back" [node name="DeleteConfirmation" parent="." instance=ExtResource("4_confirmation")] unique_name_in_owner = true