diff options
author | tpart <tpart120@proton.me> | 2024-08-15 23:22:02 +0200 |
---|---|---|
committer | tpart <tpart120@proton.me> | 2024-08-15 23:22:02 +0200 |
commit | 82446e9f9b626f47e18b90e6841b1bec2b7800f6 (patch) | |
tree | 8a13a6d4c78057737f61e505c6d106b30fa8247a /client/multiplayer.gd | |
parent | e0ce9534563de59c080b0bd4f014cccbf329fcad (diff) | |
download | hurrycurry-82446e9f9b626f47e18b90e6841b1bec2b7800f6.tar hurrycurry-82446e9f9b626f47e18b90e6841b1bec2b7800f6.tar.bz2 hurrycurry-82446e9f9b626f47e18b90e6841b1bec2b7800f6.tar.zst |
Implement new message protocol in client
Diffstat (limited to 'client/multiplayer.gd')
-rw-r--r-- | client/multiplayer.gd | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/client/multiplayer.gd b/client/multiplayer.gd index e77b74c5..d5b13d20 100644 --- a/client/multiplayer.gd +++ b/client/multiplayer.gd @@ -30,9 +30,9 @@ signal data( signal set_tile(tile: Vector2i, kind: int, neighbors: Array[String]) signal remove_tile(tile: Vector2i) signal clear_message(player: int) -signal text_message(player: int, text: String, persist: bool) -signal item_message(player: int, item: int, persist: bool) -signal effect_message(player: int, effect: String, persist: bool) +signal text_message(player: int, text: String, timeout_initial: float, timeout_remaining: float) +signal item_message(player: int, item: int, timeout_initial: float, timeout_remaining: float) +signal effect_message(player: int, effect: String, timeout_initial: float, timeout_remaining: float) signal add_player(player: int, name: String, pos: Vector2, character: int) signal remove_player(player: int) signal movement(player: int, position: Vector2, rotation: float, boost: bool, direction: Vector2) @@ -227,17 +227,18 @@ func handle_packet(bytes: PackedByteArray): "communicate": var player: int = decoded["player"] var message = decoded.get("message") - var persist: bool = decoded["persist"] + var timeout_initial: float = decoded["timeout"]["initial"] if decoded["timeout"] != null else 5. + var timeout_remaining: float = decoded["timeout"]["remaining"] if decoded["timeout"] != null else 5. if message != null: var item = message.get("item") var text = message.get("text") var effect = message.get("effect") if item != null: - item_message.emit(player, item, persist) + item_message.emit(player, item, timeout_initial, timeout_remaining) elif text != null: - text_message.emit(player, text, persist) + text_message.emit(player, text, timeout_initial, timeout_remaining) elif effect != null: - effect_message.emit(player, effect, persist) + effect_message.emit(player, effect, timeout_initial, timeout_remaining) else: push_error("neither text, item nor effect provided") else: |