37 lines
948 B
GDScript
37 lines
948 B
GDScript
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 != "" |