Client/scripts/channel/message.gd
Snoweuph 1531505d2f
All checks were successful
Quality Check / Linting (push) Successful in 6s
Quality Check / Linting (pull_request) Successful in 6s
NOTICKET: Adding WS Structure and Example
2025-02-18 13:02:40 +01:00

30 lines
727 B
GDScript

class_name Message
enum Channels { CONNECTION, TIME }
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