extends PacketHandler signal success signal failure func handle_packet(data: PackedByteArray, _peer: PacketPeer): var buffer := StreamPeerBuffer.new() buffer.data_array = data var error := buffer.get_8() if error != 0: print("[%s] Login failed." % Global.username) failure.emit() return Global.account_id = buffer.get_string() Global.auth_token = buffer.get_string() print("[%s] Login succeeded." % Global.username) print("[%s] ID: %s" % [Global.username, Global.account_id]) print("[%s] Auth token: %s" % [Global.username, Global.auth_token]) success.emit() func send_login(): if is_logged_in(): return var password := "password" var buffer := StreamPeerBuffer.new() buffer.put_8(Packet.LOGIN) buffer.put_data(JSON.stringify([Global.username, password]).to_utf8_buffer()) %Client.send(buffer.data_array) print("[%s] Connecting..." % Global.username) func is_logged_in() -> bool: return Global.auth_token != ""