diff options
| author | tpart <tpart120@proton.me> | 2025-10-17 00:50:50 +0200 |
|---|---|---|
| committer | tpart <tpart120@proton.me> | 2025-10-17 00:50:55 +0200 |
| commit | 4b61b970cb30e264f6c585a7cd8be1b80189b545 (patch) | |
| tree | 4f4c3691a075a905bd688e4cda816988bcc5d3a5 /client | |
| parent | f728fc2e73f731ca736adf9b421c3c40f96c6e12 (diff) | |
| download | hurrycurry-4b61b970cb30e264f6c585a7cd8be1b80189b545.tar hurrycurry-4b61b970cb30e264f6c585a7cd8be1b80189b545.tar.bz2 hurrycurry-4b61b970cb30e264f6c585a7cd8be1b80189b545.tar.zst | |
Show domain in server list
Diffstat (limited to 'client')
| -rw-r--r-- | client/gui/menus/main/play.gd | 6 | ||||
| -rw-r--r-- | client/gui/menus/main/server_list_item.gd | 17 | ||||
| -rw-r--r-- | client/gui/menus/main/server_list_item.tscn | 18 |
3 files changed, 33 insertions, 8 deletions
diff --git a/client/gui/menus/main/play.gd b/client/gui/menus/main/play.gd index 79ea70e2..5977f00f 100644 --- a/client/gui/menus/main/play.gd +++ b/client/gui/menus/main/play.gd @@ -74,8 +74,12 @@ func update_server_list(lists: Array[Array]): for i in l: var server_item: ServerListItem = server_list_item.instantiate() server_list.add_child(server_item) + + var address: Array[String] = [] + address.append_array(i.address) + # TODO: Implement fallback address correctly - server_item.setup(i.name, roundi(i.players_online), i.version) + server_item.setup(i.name, roundi(i.players_online), i.version, address) server_item.button.pressed.connect(connect_to.bind(i.address[0])) # Focus the same server with the same index as the previously focused one if idx == prev_selected_idx: diff --git a/client/gui/menus/main/server_list_item.gd b/client/gui/menus/main/server_list_item.gd index 1debbc83..dfd3c856 100644 --- a/client/gui/menus/main/server_list_item.gd +++ b/client/gui/menus/main/server_list_item.gd @@ -20,19 +20,26 @@ var error_style_focus: StyleBoxFlat = preload("res://gui/resources/style/error_f var error_style_normal: StyleBoxFlat = preload("res://gui/resources/style/error_normal_style.tres") @onready var title: Label = $MarginContainer/VBoxContainer/Title -@onready var info: Label = $MarginContainer/VBoxContainer/Info +@onready var online: Label = $MarginContainer/VBoxContainer/HBoxContainer/Online +@onready var address: Label = $MarginContainer/VBoxContainer/HBoxContainer/Address @onready var button: Button = $Button -func setup(name_: String, online_players: int, version: Array): +func setup(name_: String, online_players: int, version: Array, addresses: Array[String]): title.text = name_ if version[0] != Multiplayer.VERSION_MAJOR or version[1] > Multiplayer.VERSION_MINOR: button.disabled = true button.add_theme_stylebox_override("disabled", error_style_normal) button.add_theme_stylebox_override("focus", error_style_focus) - info.text = tr("c.menu.play.server_version_mismatch") - info.add_theme_color_override("font_color", Color("ff2222")) + online.text = tr("c.menu.play.server_version_mismatch") + online.add_theme_color_override("font_color", Color("ff2222")) + address.visible = false return - info.text = tr("c.menu.play.server_players").format([online_players]) + online.text = tr("c.menu.play.server_players").format([online_players]) + + if addresses.size() > 1 or not addresses[0].begins_with("wss://"): + address.visible = false + else: + address.text = addresses[0].trim_suffix(":443").trim_prefix("wss://") # This node is in group not no_click_sound, so sounds won't be automatically connected # by menu system. Reason: These nodes are deleted and re-created every few seconds diff --git a/client/gui/menus/main/server_list_item.tscn b/client/gui/menus/main/server_list_item.tscn index ee1b9bf7..0f62561b 100644 --- a/client/gui/menus/main/server_list_item.tscn +++ b/client/gui/menus/main/server_list_item.tscn @@ -33,8 +33,22 @@ theme_override_font_sizes/font_size = 18 text = "Example Server" text_overrun_behavior = 3 -[node name="Info" type="Label" parent="MarginContainer/VBoxContainer"] +[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] +layout_mode = 2 +mouse_filter = 2 +theme_override_constants/separation = 16 + +[node name="Online" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer"] layout_mode = 2 theme_override_colors/font_color = Color(0.749781, 0.74978, 0.74978, 1) theme_override_font_sizes/font_size = 14 -text = "5 players online" +text = "5 players" + +[node name="Address" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_colors/font_color = Color(0.749781, 0.74978, 0.74978, 1) +theme_override_font_sizes/font_size = 14 +text = "wss://example.example.example.org" +horizontal_alignment = 2 +text_overrun_behavior = 3 |