Added network skill usage

This commit is contained in:
2024-02-16 15:51:23 +01:00
parent 89d730f0ae
commit c228d4e25a
12 changed files with 77 additions and 21 deletions

View File

@ -4,7 +4,7 @@ signal message_received(message: String)
func send_message(message: String):
var buffer := StreamPeerBuffer.new()
buffer.put_8(Packet.CHAT)
buffer.put_u8(Packet.CHAT)
buffer.put_data(message.to_utf8_buffer())
%Client.send(buffer.data_array)

View File

@ -24,7 +24,7 @@ func send_login():
var password := "password".sha256_text()
var buffer := StreamPeerBuffer.new()
buffer.put_8(Packet.LOGIN)
buffer.put_u8(Packet.LOGIN)
buffer.put_data(JSON.stringify([Global.username, password]).to_utf8_buffer())
%Client.send(buffer.data_array)
print("[%s] Connecting..." % Global.username)

View File

@ -17,8 +17,8 @@ func handle_packet(data: PackedByteArray):
func send_ping():
var buffer := StreamPeerBuffer.new()
buffer.put_8(Packet.PING)
buffer.put_8(count)
buffer.put_u8(Packet.PING)
buffer.put_u8(count)
%Client.send(buffer.data_array)
history[count] = get_time()
count = (count + 1) % HISTORY_SIZE

View File

@ -8,7 +8,7 @@ func on_main_player_spawned(player: Player):
func on_jump():
var buffer := StreamPeerBuffer.new()
buffer.put_8(PacketHandler.Packet.PLAYER_JUMP)
buffer.put_u8(PacketHandler.Packet.PLAYER_JUMP)
%Client.send(buffer.data_array)
func handle_packet(data: PackedByteArray):

View File

@ -46,7 +46,7 @@ func _physics_process(_delta):
func send_position():
var buffer := StreamPeerBuffer.new()
buffer.put_8(PacketHandler.Packet.PLAYER_MOVE)
buffer.put_u8(PacketHandler.Packet.PLAYER_MOVE)
buffer.put_float(Global.player.position.x)
buffer.put_float(Global.player.position.z)
buffer.put_float(Global.player.movement.direction.x)

View File

@ -0,0 +1,24 @@
extends PacketHandler
func _ready():
%PlayerAdd.main_player_spawned.connect(on_main_player_spawned)
func on_main_player_spawned(player: Player):
player.controller.used_skill.connect(on_skill_used)
func on_skill_used(slot: int):
var buffer := StreamPeerBuffer.new()
buffer.put_u8(PacketHandler.Packet.PLAYER_USE_SKILL)
buffer.put_u8(slot)
%Client.send(buffer.data_array)
func handle_packet(data: PackedByteArray):
var buffer := StreamPeerBuffer.new()
buffer.data_array = data
var player_id_length := buffer.get_size() - 1
var player_id := buffer.get_string(player_id_length)
var slot := buffer.get_u8()
var player := Global.players.get_player(player_id)
player.controller.used_skill.emit(slot)

View File

@ -10,7 +10,7 @@ enum Packet {
PLAYER_REMOVE = 11,
PLAYER_MOVE = 12,
PLAYER_JUMP = 13,
PLAYER_ATTACK = 14,
PLAYER_USE_SKILL = 14,
CHAT = 20,
}