Added network skill usage
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=28 format=3 uid="uid://b40y7iuskv1ar"]
|
||||
[gd_scene load_steps=29 format=3 uid="uid://b40y7iuskv1ar"]
|
||||
|
||||
[ext_resource type="Script" path="res://Main.gd" id="1_cw3ws"]
|
||||
[ext_resource type="Script" path="res://network/Client.gd" id="2_8hxcx"]
|
||||
@ -12,6 +12,7 @@
|
||||
[ext_resource type="Script" path="res://network/PlayerJump.gd" id="9_o8sk8"]
|
||||
[ext_resource type="Script" path="res://network/Chat.gd" id="10_y3len"]
|
||||
[ext_resource type="Script" path="res://world/Sun.gd" id="11_4jb08"]
|
||||
[ext_resource type="Script" path="res://network/PlayerUseSkill.gd" id="11_gyiep"]
|
||||
[ext_resource type="PackedScene" uid="uid://cpdoq0oh84mfw" path="res://camera/Camera.tscn" id="12_aljdh"]
|
||||
[ext_resource type="Environment" uid="uid://dixa0yso2s1u3" path="res://world/Environment.tres" id="12_cscto"]
|
||||
[ext_resource type="Script" path="res://world/Generate.gd" id="15_25nmg"]
|
||||
@ -90,6 +91,10 @@ packet_type = 12
|
||||
script = ExtResource("9_o8sk8")
|
||||
packet_type = 13
|
||||
|
||||
[node name="PlayerUseSkill" type="Node" parent="Client"]
|
||||
script = ExtResource("11_gyiep")
|
||||
packet_type = 14
|
||||
|
||||
[node name="Chat" type="Node" parent="Client"]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("10_y3len")
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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):
|
||||
|
@ -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)
|
||||
|
24
client/network/PlayerUseSkill.gd
Normal file
24
client/network/PlayerUseSkill.gd
Normal 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)
|
@ -10,7 +10,7 @@ enum Packet {
|
||||
PLAYER_REMOVE = 11,
|
||||
PLAYER_MOVE = 12,
|
||||
PLAYER_JUMP = 13,
|
||||
PLAYER_ATTACK = 14,
|
||||
PLAYER_USE_SKILL = 14,
|
||||
CHAT = 20,
|
||||
}
|
||||
|
||||
|
@ -37,10 +37,6 @@ window/stretch/mode="canvas_items"
|
||||
window/stretch/aspect="expand"
|
||||
window/vsync/vsync_mode=0
|
||||
|
||||
[editor]
|
||||
|
||||
run/main_run_args="--offline"
|
||||
|
||||
[gui]
|
||||
|
||||
theme/custom="res://ui/theme/theme.tres"
|
||||
|
Reference in New Issue
Block a user