bom/client/network/Login.gd

34 lines
791 B
GDScript

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.account.name)
failure.emit()
return
Global.account.id = buffer.get_string()
Global.account.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_u8(Packet.LOGIN)
buffer.put_data(JSON.stringify([Global.account.name, password]).to_utf8_buffer())
%Client.send(buffer.data_array)
print("[%s] Connecting..." % Global.account.name)
func is_logged_in() -> bool:
return Global.account.auth_token != ""