extends PacketHandler @export var playerScene: PackedScene var auth_token: String func _ready(): %Client.set_handler(Packet.LOGIN, self) send_login() func handle_packet(data: PackedByteArray, _peer: PacketPeer): if data[0] != 0: print("[Client] Login failed.") return print("[Client] Login succeeded.") auth_token = data.slice(1).get_string_from_ascii() print("[Client] Auth token: %s" % auth_token) Global.player = spawn_player() func send_login(): if is_logged_in(): return var buffer := StreamPeerBuffer.new() buffer.put_8(Packet.LOGIN) buffer.put_data(JSON.stringify(["user1", "password"]).to_utf8_buffer()) %Client.socket.put_packet(buffer.data_array) print("[Client] Connecting...") func is_logged_in() -> bool: return auth_token != "" func spawn_player() -> Player: var player = playerScene.instantiate() %Players.add_child(player) return player