blob: 0cffdd72a319149b86ac4895a526a05f6a4a8094 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# Hurry Curry! - a game about cooking
# Copyright (C) 2025 Hurry Curry! contributors
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, version 3 of the License only.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
class_name ServerListItem
extends PanelContainer
var error_style_focus: StyleBoxFlat = preload("res://gui/resources/style/error_focus_style.tres")
@onready var title: Label = $MarginContainer/VBoxContainer/Title
@onready var info: Label = $MarginContainer/VBoxContainer/Info
@onready var button: Button = $Button
func setup(name_: String, online_players: int, version: Array):
title.text = name_
if version[0] != Multiplayer.VERSION_MAJOR or version[1] > Multiplayer.VERSION_MINOR:
button.disabled = true
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"))
return
info.text = tr("c.menu.play.server_players").format([online_players])
# 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
# in server list, and signals are only connected on ready.
button.pressed.connect(Sound.play_click)
button.mouse_entered.connect(Sound.play_hover)
|