Add public room discovery

This commit is contained in:
Alexander Sellite 2026-08-10 10:04:05 -04:00
parent 59ef173ea7
commit e204279b09
16 changed files with 857 additions and 22 deletions

View file

@ -38,6 +38,7 @@ const WorldPixelationPostprocessType = preload(
"res://main/world_pixelation_postprocess.gd"
)
const NetworkSessionType = preload("res://network/network_session.gd")
const DiscoveryClientType = preload("res://network/discovery_client.gd")
const NetworkProfilePreferencesType = preload(
"res://network/network_profile_preferences.gd"
)
@ -131,6 +132,7 @@ const SHOP_PATTERN_SCALE: float = 1.75
%WorldPixelationPostprocess
)
@onready var _network_session: NetworkSessionType = %NetworkSession
@onready var _discovery: DiscoveryClientType = %DiscoveryClient
@onready var _world_time: WorldTimeServiceType = %WorldTimeService
@onready var _world_time_visuals: WorldTimeVisualControllerType = (
%WorldTimeVisualController
@ -313,6 +315,7 @@ func _initialize_after_data_root() -> void:
_server_trust,
_host_bans,
)
_discovery.setup(_network_session)
_world_time_visuals.setup(
_world_time,
_test_world.get_world_environment(),
@ -546,6 +549,7 @@ func _initialize_after_data_root() -> void:
_asset_reservations,
_network_profile_service,
_network_player_list,
_discovery,
_settings_manager,
_network_surface_drawing,
_player.art_unlocks,
@ -623,6 +627,7 @@ func _initialize_after_data_root() -> void:
_network_session,
_saved_servers,
_server_trust,
_discovery,
)
var pause_menu: PauseMenuType = _game_ui.get_pause_menu()
pause_menu.setup(
@ -633,6 +638,7 @@ func _initialize_after_data_root() -> void:
_network_session,
_saved_servers,
_server_trust,
_discovery,
)
title_screen.join_game_requested.connect(_on_title_join_game_requested)
pause_menu.join_game_requested.connect(_on_pause_join_game_requested)

View file

@ -56,6 +56,7 @@
[ext_resource type="Script" uid="uid://b0c3o2vy76fg3" path="res://world/shoreline_ambience.gd" id="54_shoreline_ambience"]
[ext_resource type="AudioStream" uid="uid://dck3tf8qkadea" path="res://audio/ambience/waves.wav" id="55_waves"]
[ext_resource type="Script" uid="uid://c80x8jkdnx0xy" path="res://settings/controller_mapping_manager.gd" id="56_controller_mapping"]
[ext_resource type="Script" uid="uid://d0jv8n2nfqia0" path="res://network/discovery_client.gd" id="57_discovery"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_title_water_native"]
shader = ExtResource("40_title_water")
@ -214,6 +215,10 @@ script = ExtResource("38_identity_backup")
unique_name_in_owner = true
script = ExtResource("17_network_session")
[node name="DiscoveryClient" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("57_discovery")
[node name="NetworkProfilePreferences" type="Node" parent="." unique_id=2119445545]
unique_name_in_owner = true
script = ExtResource("18_network_profile")