diff options
| author | Anson Bridges <bridges.anson@gmail.com> | 2025-08-22 12:46:04 -0700 |
|---|---|---|
| committer | Anson Bridges <bridges.anson@gmail.com> | 2025-08-22 12:46:04 -0700 |
| commit | 64f37f4209d80bfad976dd4a139c98002caef15f (patch) | |
| tree | 94c91953986e960573ae0092f8ad7120c1c266f0 /pages | |
| parent | 255fbf19cc9499ef384d41f68515da5e49e8a3ce (diff) | |
Diffstat (limited to 'pages')
| -rw-r--r-- | pages/GameTable.tscn | 412 | ||||
| -rw-r--r-- | pages/MainMenu.tscn | 53 | ||||
| -rw-r--r-- | pages/MainScene.tscn | 7 | ||||
| -rw-r--r-- | pages/ServerBrowser.tscn | 1 |
4 files changed, 456 insertions, 17 deletions
diff --git a/pages/GameTable.tscn b/pages/GameTable.tscn index efd6540..dec2312 100644 --- a/pages/GameTable.tscn +++ b/pages/GameTable.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=8 format=2] +[gd_scene load_steps=9 format=2] [ext_resource path="res://scripts/GameTable.gd" type="Script" id=1] [ext_resource path="res://textures/wood_board_knotty.png" type="Texture" id=2] [ext_resource path="res://scripts/Board.gd" type="Script" id=3] +[ext_resource path="res://resources/MenuOptions.theme" type="Theme" id=4] [sub_resource type="Environment" id=1] background_mode = 1 @@ -76,7 +77,6 @@ transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 15.3 light_color = Color( 1, 0.941176, 0.733333, 1 ) light_energy = 1.512 light_specular = 0.0 -shadow_enabled = true spot_range = 45.4139 [node name="WorldEnvironment" type="WorldEnvironment" parent="."] @@ -94,3 +94,411 @@ transform = Transform( 1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0 [node name="Camera" type="Camera" parent="CameraHingeYaw/CameraHingePitch"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7 ) script = SubResource( 4 ) + +[node name="PregameUI" type="VBoxContainer" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 + +[node name="Header" type="HBoxContainer" parent="PregameUI"] +margin_right = 1600.0 +margin_bottom = 39.0 +mouse_filter = 2 +size_flags_horizontal = 3 + +[node name="GameMenuButton" type="Button" parent="PregameUI/Header"] +margin_right = 30.0 +margin_bottom = 39.0 +theme = ExtResource( 4 ) +text = "=" + +[node name="TitleText" type="Label" parent="PregameUI/Header"] +margin_left = 34.0 +margin_top = 3.0 +margin_right = 387.0 +margin_bottom = 36.0 +mouse_filter = 0 +mouse_default_cursor_shape = 2 +theme = ExtResource( 4 ) +text = "$LOBBY_NAME ($JCODE)" + +[node name="PregameControls" type="HBoxContainer" parent="PregameUI"] +margin_top = 43.0 +margin_right = 1600.0 +margin_bottom = 443.0 +mouse_filter = 2 + +[node name="PlayerTab" type="VBoxContainer" parent="PregameUI/PregameControls"] +margin_right = 186.0 +margin_bottom = 400.0 + +[node name="PlayersLabel" type="Label" parent="PregameUI/PregameControls/PlayerTab"] +margin_right = 186.0 +margin_bottom = 14.0 +text = "Players ($CONNECTED/$MAX)" + +[node name="HSeparator" type="HSeparator" parent="PregameUI/PregameControls/PlayerTab"] +margin_top = 18.0 +margin_right = 186.0 +margin_bottom = 22.0 + +[node name="PlayerList" type="VBoxContainer" parent="PregameUI/PregameControls/PlayerTab"] +margin_top = 26.0 +margin_right = 186.0 +margin_bottom = 26.0 + +[node name="StartButton" type="Button" parent="PregameUI/PregameControls/PlayerTab"] +margin_top = 30.0 +margin_right = 186.0 +margin_bottom = 69.0 +theme = ExtResource( 4 ) +text = "Start " + +[node name="ControlsTabContainer" type="TabContainer" parent="PregameUI/PregameControls"] +margin_left = 190.0 +margin_right = 460.0 +margin_bottom = 400.0 +rect_min_size = Vector2( 250, 400 ) + +[node name="Board Params" type="GridContainer" parent="PregameUI/PregameControls/ControlsTabContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 +columns = 2 + +[node name="BoardSideLenLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Board Params"] +margin_top = 5.0 +margin_right = 112.0 +margin_bottom = 19.0 +text = "Board Side Lenth:" +align = 2 + +[node name="board_side_length" type="SpinBox" parent="PregameUI/PregameControls/ControlsTabContainer/Board Params"] +margin_left = 116.0 +margin_right = 262.0 +margin_bottom = 24.0 +min_value = 4.0 +max_value = 10.0 +value = 6.0 + +[node name="AirportStyleLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Board Params"] +margin_top = 31.0 +margin_right = 112.0 +margin_bottom = 45.0 +text = "Airport Style:" +align = 2 + +[node name="airport_style" type="OptionButton" parent="PregameUI/PregameControls/ControlsTabContainer/Board Params"] +margin_left = 116.0 +margin_top = 28.0 +margin_right = 262.0 +margin_bottom = 48.0 +text = "Colors & Numbers" +items = [ "Colors & Numbers", null, false, 0, null, "Names", null, false, 1, null ] +selected = 0 + +[node name="NumAirportsLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Board Params"] +margin_top = 57.0 +margin_right = 112.0 +margin_bottom = 71.0 +text = "# Airports:" +align = 2 + +[node name="num_airports" type="SpinBox" parent="PregameUI/PregameControls/ControlsTabContainer/Board Params"] +margin_left = 116.0 +margin_top = 52.0 +margin_right = 262.0 +margin_bottom = 76.0 +min_value = 4.0 +max_value = 32.0 +value = 18.0 + +[node name="NumHillsLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Board Params"] +margin_top = 85.0 +margin_right = 112.0 +margin_bottom = 99.0 +text = "# Hills:" +align = 2 + +[node name="num_hills" type="SpinBox" parent="PregameUI/PregameControls/ControlsTabContainer/Board Params"] +margin_left = 116.0 +margin_top = 80.0 +margin_right = 262.0 +margin_bottom = 104.0 +max_value = 15.0 +value = 8.0 + +[node name="NumMtnsLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Board Params"] +margin_top = 113.0 +margin_right = 112.0 +margin_bottom = 127.0 +text = "# Mountains:" +align = 2 + +[node name="num_mountains" type="SpinBox" parent="PregameUI/PregameControls/ControlsTabContainer/Board Params"] +margin_left = 116.0 +margin_top = 108.0 +margin_right = 262.0 +margin_bottom = 132.0 +max_value = 15.0 +value = 4.0 + +[node name="RunwayCountLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Board Params"] +margin_top = 139.0 +margin_right = 112.0 +margin_bottom = 153.0 +text = "Runway Count:" +align = 2 + +[node name="runways_per_airport" type="OptionButton" parent="PregameUI/PregameControls/ControlsTabContainer/Board Params"] +margin_left = 116.0 +margin_top = 136.0 +margin_right = 262.0 +margin_bottom = 156.0 +text = "Random" +items = [ "Random", null, false, 0, null, "1", null, false, 1, null, "2", null, false, 2, null, "3", null, false, 3, null ] +selected = 0 + +[node name="GenerateBoardButton" type="Button" parent="PregameUI/PregameControls/ControlsTabContainer/Board Params"] +margin_top = 160.0 +margin_right = 112.0 +margin_bottom = 180.0 +text = "Generate Board" + +[node name="Game Rules" type="GridContainer" parent="PregameUI/PregameControls/ControlsTabContainer"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 32.0 +margin_right = -4.0 +margin_bottom = -4.0 +columns = 2 + +[node name="FlyOverLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_top = 3.0 +margin_right = 166.0 +margin_bottom = 17.0 +text = "Fly Over Airports:" +align = 2 + +[node name="fly_over_airports" type="OptionButton" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_left = 170.0 +margin_right = 355.0 +margin_bottom = 20.0 +text = "No" +items = [ "No", null, false, 0, null, "Altitude 2 Only", null, false, 1, null, "All Altitudes", null, false, 2, null ] +selected = 0 + +[node name="MustLandLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_top = 27.0 +margin_right = 166.0 +margin_bottom = 41.0 +text = "Must Land Final Action:" +align = 2 + +[node name="must_land_on_final_action" type="OptionButton" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_left = 170.0 +margin_top = 24.0 +margin_right = 355.0 +margin_bottom = 44.0 +text = "No" +items = [ "No", null, false, 0, null, "Yes", null, false, 1, null ] +selected = 0 + +[node name="TakeoffActionLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_top = 51.0 +margin_right = 166.0 +margin_bottom = 65.0 +text = "Takeoff Action:" +align = 2 + +[node name="takeoff_action" type="OptionButton" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_left = 170.0 +margin_top = 48.0 +margin_right = 355.0 +margin_bottom = 68.0 +text = "3" +items = [ "1", null, false, 0, null, "2", null, false, 1, null, "3", null, false, 2, null, "4", null, false, 3, null, "5", null, false, 4, null ] +selected = 2 + +[node name="MoveForwardLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_top = 75.0 +margin_right = 166.0 +margin_bottom = 89.0 +text = "Move Forward:" +align = 2 + +[node name="move_forward_order" type="OptionButton" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_left = 170.0 +margin_top = 72.0 +margin_right = 355.0 +margin_bottom = 92.0 +text = "Either" +items = [ "Either", null, false, 0, null, "After Action", null, false, 1, null, "Before Action", null, false, 2, null ] +selected = 0 + +[node name="GamemodeLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_top = 99.0 +margin_right = 166.0 +margin_bottom = 113.0 +text = "Gamemode:" +align = 2 + +[node name="gamemode" type="OptionButton" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_left = 170.0 +margin_top = 96.0 +margin_right = 355.0 +margin_bottom = 116.0 +text = "Cooperative" +items = [ "Cooperative", null, false, 0, null, "Versus", null, false, 1, null ] +selected = 0 + +[node name="PlaneAssignmentLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_top = 123.0 +margin_right = 166.0 +margin_bottom = 137.0 +text = "Plane Assignment:" +align = 2 + +[node name="plane_assignment" type="OptionButton" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_left = 170.0 +margin_top = 120.0 +margin_right = 355.0 +margin_bottom = 140.0 +text = "Random" +items = [ "Random", null, false, 0, null, "Draft", null, false, 1, null ] +selected = 0 + +[node name="AltitudeChangeLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_top = 147.0 +margin_right = 166.0 +margin_bottom = 161.0 +text = "Altitude Change:" +align = 2 + +[node name="altitude_and_turn" type="OptionButton" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_left = 170.0 +margin_top = 144.0 +margin_right = 355.0 +margin_bottom = 164.0 +text = "Turn OR Altitude Change" +items = [ "Turn OR Altitude Change", null, false, 0, null, "Turn AND Altitude Change", null, false, 1, null ] +selected = 0 + +[node name="TurnsPerEventLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_top = 173.0 +margin_right = 166.0 +margin_bottom = 187.0 +text = "Turns Per Event:" +align = 2 + +[node name="event_frequency" type="SpinBox" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_left = 170.0 +margin_top = 168.0 +margin_right = 355.0 +margin_bottom = 192.0 +min_value = 1.0 +max_value = 4.0 +value = 1.0 + +[node name="WeatherEnabledLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_top = 199.0 +margin_right = 166.0 +margin_bottom = 213.0 +text = "Weather:" +align = 2 + +[node name="weather_enabled" type="OptionButton" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_left = 170.0 +margin_top = 196.0 +margin_right = 355.0 +margin_bottom = 216.0 +text = "Enabled" +items = [ "Disabled", null, false, 0, null, "Enabled", null, false, 1, null ] +selected = 1 + +[node name="OtherEventsLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_top = 223.0 +margin_right = 166.0 +margin_bottom = 237.0 +text = "Other Events:" +align = 2 + +[node name="misc_enabled" type="OptionButton" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_left = 170.0 +margin_top = 220.0 +margin_right = 355.0 +margin_bottom = 240.0 +text = "Enabled" +items = [ "Disabled", null, false, 0, null, "Enabled", null, false, 1, null ] +selected = 1 + +[node name="NewPlanesLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_top = 249.0 +margin_right = 166.0 +margin_bottom = 263.0 +text = "New Planes Per Turn:" +align = 2 + +[node name="new_planes_per_turn" type="SpinBox" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_left = 170.0 +margin_top = 244.0 +margin_right = 355.0 +margin_bottom = 268.0 +min_value = 1.0 +max_value = 7.0 +value = 4.0 + +[node name="NewPlaneRampupLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_top = 275.0 +margin_right = 166.0 +margin_bottom = 289.0 +text = "New Plane Ramp Up:" +align = 2 + +[node name="ramp_up_enabled" type="OptionButton" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_left = 170.0 +margin_top = 272.0 +margin_right = 355.0 +margin_bottom = 292.0 +text = "Disabled" +items = [ "Disabled", null, false, 0, null, "Enabled", null, false, 1, null ] +selected = 0 + +[node name="StartingPlanesLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_top = 301.0 +margin_right = 166.0 +margin_bottom = 315.0 +text = "Starting Planes Per Player:" +align = 2 + +[node name="starting_planes_per_player" type="SpinBox" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_left = 170.0 +margin_top = 296.0 +margin_right = 355.0 +margin_bottom = 320.0 +min_value = 1.0 +max_value = 10.0 +value = 3.0 + +[node name="RoundTimerLabel" type="Label" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_top = 329.0 +margin_right = 166.0 +margin_bottom = 343.0 +text = "Round Timer:" +align = 2 + +[node name="round_timer" type="SpinBox" parent="PregameUI/PregameControls/ControlsTabContainer/Game Rules"] +margin_left = 170.0 +margin_top = 324.0 +margin_right = 355.0 +margin_bottom = 348.0 +min_value = 15.0 +max_value = 300.0 +value = 15.0 + +[connection signal="gui_input" from="PregameUI/Header/TitleText" to="." method="_on_TitleText_gui_input"] diff --git a/pages/MainMenu.tscn b/pages/MainMenu.tscn index d216836..5d1f21c 100644 --- a/pages/MainMenu.tscn +++ b/pages/MainMenu.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=17 format=2] +[gd_scene load_steps=15 format=2] [ext_resource path="res://scripts/MainMenu.gd" type="Script" id=1] [ext_resource path="res://resources/fonts/Cochineal-Bold.otf" type="DynamicFontData" id=2] @@ -25,15 +25,6 @@ font_data = ExtResource( 2 ) default_font = SubResource( 1 ) Button/fonts/font = SubResource( 30 ) -[sub_resource type="Gradient" id=15] -offsets = PoolRealArray( 0 ) -colors = PoolColorArray( 0, 0, 0, 1 ) - -[sub_resource type="GradientTexture2D" id=22] -gradient = SubResource( 15 ) -width = 32 -height = 32 - [sub_resource type="Gradient" id=23] offsets = PoolRealArray( 0 ) colors = PoolColorArray( 0, 0, 0, 1 ) @@ -145,7 +136,7 @@ margin_right = 202.0 margin_bottom = 87.0 rect_min_size = Vector2( 60, 40 ) size_flags_horizontal = 0 -icon = SubResource( 22 ) +icon = SubResource( 21 ) expand_icon = true items = [ "", SubResource( 21 ), false, 0, null, "", SubResource( 21 ), false, 1, null, "", SubResource( 21 ), false, 2, null, "", SubResource( 21 ), false, 3, null, "", SubResource( 21 ), false, 4, null, "", SubResource( 21 ), false, 5, null, "", SubResource( 21 ), false, 6, null, "", SubResource( 21 ), false, 7, null, "", SubResource( 21 ), false, 8, null, "", SubResource( 21 ), false, 9, null ] selected = 0 @@ -297,3 +288,43 @@ theme = ExtResource( 4 ) max_length = 39 placeholder_text = "Game Coordinator URL" placeholder_alpha = 0.389 + +[node name="NotifPopup" type="PopupPanel" parent="."] +anchor_left = 0.4 +anchor_top = 0.35 +anchor_right = 0.6 +anchor_bottom = 0.65 +margin_right = 8.0 +margin_bottom = 8.0 +popup_exclusive = true + +[node name="PopupControl" type="Control" parent="NotifPopup"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 4.0 +margin_right = -4.0 +margin_bottom = -4.0 + +[node name="TitleLabel" type="Label" parent="NotifPopup/PopupControl"] +anchor_left = 0.1 +anchor_right = 0.9 +anchor_bottom = 0.15 +theme = ExtResource( 4 ) + +[node name="MessageLabel" type="Label" parent="NotifPopup/PopupControl"] +anchor_left = 0.05 +anchor_top = 0.25 +anchor_right = 0.95 +anchor_bottom = 0.75 + +[node name="ClosePopupButton" type="Button" parent="NotifPopup/PopupControl"] +anchor_left = 0.3 +anchor_top = 0.8 +anchor_right = 0.3 +anchor_bottom = 0.8 +rect_min_size = Vector2( 120, 50 ) +theme = ExtResource( 4 ) +text = "Close" + +[connection signal="pressed" from="NotifPopup/PopupControl/ClosePopupButton" to="NotifPopup" method="set_visible" binds= [ false ]] diff --git a/pages/MainScene.tscn b/pages/MainScene.tscn index da9bdcd..ce04e54 100644 --- a/pages/MainScene.tscn +++ b/pages/MainScene.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=2] -[ext_resource path="res://network/websocket_client_basic.gd" type="Script" id=1] +[ext_resource path="res://network/GCClient.tscn" type="PackedScene" id=1] [ext_resource path="res://pages/MainMenu.tscn" type="PackedScene" id=2] [ext_resource path="res://scripts/MainScene.gd" type="Script" id=3] @@ -9,7 +9,6 @@ anchor_right = 1.0 anchor_bottom = 1.0 script = ExtResource( 3 ) -[node name="GameCoordinator" type="Node" parent="."] -script = ExtResource( 1 ) - [node name="MainMenu" parent="." instance=ExtResource( 2 )] + +[node name="GCClient" parent="." instance=ExtResource( 1 )] diff --git a/pages/ServerBrowser.tscn b/pages/ServerBrowser.tscn index c5d2ef4..5c1c4bf 100644 --- a/pages/ServerBrowser.tscn +++ b/pages/ServerBrowser.tscn @@ -96,6 +96,7 @@ margin_left = 383.0 margin_top = 129.0 margin_right = 633.0 margin_bottom = 399.0 +popup_exclusive = true [node name="Control" type="Control" parent="HostPopup"] margin_left = 4.0 |
