extends RichTextLabel

# docs.redotengine.org/en/stable/tutorials/networking/websocket.html
@export var fallpack_websocket_url = "ws://localhost:8080/ws/server"
var websocket_url = OS.get_environment("TD_SERVER_WS")
var socket = WebSocketPeer.new()


func _ready() -> void:
	if websocket_url.is_empty():
		websocket_url = fallpack_websocket_url
	var err = socket.connect_to_url(websocket_url)
	if err != OK:
		error_string(err)
		set_process(false)


func _process(_delta: float) -> void:
	socket.poll()
	var state = socket.get_ready_state()

	if state == WebSocketPeer.STATE_CLOSED:
		self.text = "Disconnected"
		return

	if state == WebSocketPeer.STATE_OPEN:
		while socket.get_available_packet_count():
			self.text = "Current Unixtime: " + socket.get_packet().get_string_from_utf8()