extends PacketHandler signal success signal failure func handle_packet(data: PackedByteArray): 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() success.emit() func send_login(): if is_logged_in(): return var password := "password".sha256_text() 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 != ""