34 lines
747 B
GDScript
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
|