bom/network/client/Login.gd

34 lines
747 B
GDScript

extends PacketHandler
@export var playerScene: PackedScene
var logged_in := false
func _ready():
%Client.set_handler(Packet.LOGIN, self)
send_login()
func send_login():
if logged_in:
return
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 handle_packet(data: PackedByteArray, _peer: PacketPeer):
if data[0] != 0:
print("[Client] Login failed.")
return
print("[Client] Login succeeded.")
logged_in = true
Global.player = spawn_player()
func spawn_player() -> Player:
var player = playerScene.instantiate()
%Players.add_child(player)
return player