summaryrefslogtreecommitdiff
path: root/client/game.gd
diff options
context:
space:
mode:
authortpart <tpart120@proton.me>2024-09-18 18:10:21 +0200
committertpart <tpart120@proton.me>2024-09-18 18:10:21 +0200
commit8461de5a604d7fede00855632c55b5ec59779d0f (patch)
tree677f58636560c3f58f742f9fd877b8c536f759ed /client/game.gd
parenta182706feb0f4112063f73a3cca8ef133cd2aa66 (diff)
downloadhurrycurry-8461de5a604d7fede00855632c55b5ec59779d0f.tar
hurrycurry-8461de5a604d7fede00855632c55b5ec59779d0f.tar.bz2
hurrycurry-8461de5a604d7fede00855632c55b5ec59779d0f.tar.zst
Implement new server message packet; Remove old server error packet; Bump protocol version to 7.0
Diffstat (limited to 'client/game.gd')
-rw-r--r--client/game.gd19
1 files changed, 16 insertions, 3 deletions
diff --git a/client/game.gd b/client/game.gd
index ef7a4575..87613003 100644
--- a/client/game.gd
+++ b/client/game.gd
@@ -255,9 +255,15 @@ func _ready():
)
mp.server_message.connect(
- func(text):
- print("== ", text)
- popup_message.display_server_msg(text)
+ func(message: Dictionary, error: bool):
+ var message_str := get_message_str(message)
+
+ if error:
+ # TODO: Custom popup message style for errors
+ popup_message.display_server_msg(message_str)
+ push_error("Server error: %s" % message_str)
+ else:
+ popup_message.display_server_msg(message_str)
)
mp.score.connect(overlay.update)
@@ -289,6 +295,13 @@ func _process(delta):
if is_replay and mp != null:
mp.send_replay_tick(delta)
+func get_message_str(m: Dictionary) -> String:
+ if "text" in m: return m.text
+ if "translation" in m: return tr(m.translation.id) % m.translation.params.map(get_message_str)
+ if "tile" in m: return tile_names[m.tile]
+ if "item" in m: return item_names[m.item]
+ return "[unknown message type]"
+
func get_tile_collision(pos: Vector2i) -> bool:
var t = map.get_tile_name(pos)
if t == null: return true