bom/client/network/Login.gd
2024-01-26 00:29:05 +01:00

32 lines
810 B
GDScript

extends PacketHandler
var auth_token: String
var instance_id := OS.get_process_id() % 4
var username := "user%d" % instance_id
func _ready():
DisplayServer.window_set_title(username)
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)
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([username, password]).to_utf8_buffer())
%Client.socket.put_packet(buffer.data_array)
print("[Client] Connecting...")
func is_logged_in() -> bool:
return auth_token != ""