Client/scripts/channel/message.gd
Kevin Schmidt 20466ed45f
All checks were successful
Quality Check / Linting (pull_request) Successful in 6s
Quality Check / Linting (push) Successful in 6s
TD-47: Show Money and Hitpoints
2025-03-13 13:21:53 +01:00

30 lines
741 B
GDScript

class_name Message
enum Channels { CONNECTION, MATCHMAKING, MATCH }
func get_message_id() -> String:
push_error("Not Implemented")
return ""
static func serialize(message: Message) -> String:
var msg: Dictionary = JsonClassConverter.class_to_json(message)
msg["$id"] = message.get_message_id()
return JSON.stringify(msg)
static func deserialize(payload: String, messages: Array[GDScript]) -> Message:
var json := JSON.new()
var err = json.parse(payload)
if err != OK:
return null
var data: Variant = json.data
if data == null:
return null
var msg_id: String = data.get("$id")
for msg in messages:
if msg_id != msg.new().get_message_id():
continue
return JsonClassConverter.json_to_class(msg, data)
return null