Improved network communication
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://2bbycjulf00g"]
|
||||
|
||||
[ext_resource type="Script" path="res://character/HealthComponent.gd" id="1_403dm"]
|
||||
[ext_resource type="Script" path="res://character/health/HealthComponent.gd" id="1_403dm"]
|
||||
|
||||
[node name="HealthComponent" type="Node"]
|
||||
script = ExtResource("1_403dm")
|
@ -4,12 +4,12 @@ importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://b358op5h1y83m"
|
||||
path="res://.godot/imported/Slime.blend-8da460d18e3c1f7085d49df94a74fec6.scn"
|
||||
path="res://.godot/imported/Slime.blend-ea5047bc644fde7498b554f0822da73a.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://enemy/Slime.blend"
|
||||
dest_files=["res://.godot/imported/Slime.blend-8da460d18e3c1f7085d49df94a74fec6.scn"]
|
||||
source_file="res://enemy/slime/Slime.blend"
|
||||
dest_files=["res://.godot/imported/Slime.blend-ea5047bc644fde7498b554f0822da73a.scn"]
|
||||
|
||||
[params]
|
||||
|
@ -1,8 +1,8 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://cb2t7bvvf3gwh"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://b358op5h1y83m" path="res://enemy/Slime.blend" id="1_1h1hj"]
|
||||
[ext_resource type="PackedScene" uid="uid://b358op5h1y83m" path="res://enemy/slime/Slime.blend" id="1_1h1hj"]
|
||||
[ext_resource type="Script" path="res://enemy/Enemy.gd" id="1_r5888"]
|
||||
[ext_resource type="PackedScene" uid="uid://2bbycjulf00g" path="res://character/HealthComponent.tscn" id="2_fsqxc"]
|
||||
[ext_resource type="PackedScene" uid="uid://2bbycjulf00g" path="res://character/health/HealthComponent.tscn" id="2_fsqxc"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_x1ppt"]
|
||||
size = Vector3(0.7, 0.6, 0.7)
|
28
client/network/PlayerState.gd
Normal file
28
client/network/PlayerState.gd
Normal file
@ -0,0 +1,28 @@
|
||||
extends PacketHandler
|
||||
|
||||
@export var player_scene: PackedScene
|
||||
|
||||
func _ready():
|
||||
assert(player_scene)
|
||||
%Client.set_handler(Packet.PLAYER_STATE, self)
|
||||
|
||||
func handle_packet(data: PackedByteArray, _peer: PacketPeer):
|
||||
var player_name := data.get_string_from_utf8()
|
||||
print(player_name)
|
||||
|
||||
var position_data := data.slice(player_name.length() + 1)
|
||||
var server_position := Vector3()
|
||||
server_position.x = position_data.decode_float(0)
|
||||
server_position.y = position_data.decode_float(4)
|
||||
server_position.z = position_data.decode_float(8)
|
||||
print(server_position)
|
||||
|
||||
var player := spawn_player()
|
||||
player.name = player_name
|
||||
player.position = server_position
|
||||
Global.player = player
|
||||
|
||||
func spawn_player() -> Player:
|
||||
var player = player_scene.instantiate()
|
||||
%Players.add_child(player)
|
||||
return player
|
@ -1,14 +0,0 @@
|
||||
extends PacketHandler
|
||||
|
||||
@export var player_scene: PackedScene
|
||||
|
||||
func _ready():
|
||||
%Client.set_handler(Packet.SPAWN, self)
|
||||
|
||||
func handle_packet(_data: PackedByteArray, _peer: PacketPeer):
|
||||
Global.player = spawn_player()
|
||||
|
||||
func spawn_player() -> Player:
|
||||
var player = player_scene.instantiate()
|
||||
%Players.add_child(player)
|
||||
return player
|
@ -4,6 +4,6 @@ enum {
|
||||
PING = 1,
|
||||
LOGIN = 2,
|
||||
LOGOUT = 3,
|
||||
STATE = 10,
|
||||
MOVE = 11,
|
||||
PLAYER_STATE = 10,
|
||||
PLAYER_MOVE = 11,
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://2lcnu3dy54lx"]
|
||||
|
||||
[ext_resource type="Script" path="res://player/Player.gd" id="1_8gebs"]
|
||||
[ext_resource type="PackedScene" uid="uid://2bbycjulf00g" path="res://character/HealthComponent.tscn" id="2_np5ag"]
|
||||
[ext_resource type="Script" path="res://player/PlayerController.gd" id="3_oox5k"]
|
||||
[ext_resource type="PackedScene" uid="uid://2bbycjulf00g" path="res://character/health/HealthComponent.tscn" id="2_np5ag"]
|
||||
[ext_resource type="Script" path="res://player/controller/PlayerController.gd" id="3_oox5k"]
|
||||
|
||||
[sub_resource type="PrismMesh" id="PrismMesh_y7abh"]
|
||||
size = Vector3(0.5, 1.6, 0.5)
|
||||
|
@ -17,7 +17,7 @@ config/icon="res://ui/icon.svg"
|
||||
|
||||
[autoload]
|
||||
|
||||
Global="*res://world/Global.gd"
|
||||
Global="*res://Global.gd"
|
||||
|
||||
[display]
|
||||
|
||||
|
@ -1,21 +1,23 @@
|
||||
[gd_scene load_steps=19 format=3 uid="uid://b40y7iuskv1ar"]
|
||||
[gd_scene load_steps=21 format=3 uid="uid://b40y7iuskv1ar"]
|
||||
|
||||
[ext_resource type="Script" path="res://world/Game.gd" id="1_pux6q"]
|
||||
[ext_resource type="Script" path="res://Game.gd" id="1_pux6q"]
|
||||
[ext_resource type="Script" path="res://network/Client.gd" id="2_1ofik"]
|
||||
[ext_resource type="Script" path="res://network/Ping.gd" id="3_4h5la"]
|
||||
[ext_resource type="Script" path="res://network/Login.gd" id="4_k8n1i"]
|
||||
[ext_resource type="Script" path="res://network/Spawn.gd" id="5_7n5ie"]
|
||||
[ext_resource type="PackedScene" uid="uid://2lcnu3dy54lx" path="res://player/Player.tscn" id="5_22pku"]
|
||||
[ext_resource type="PackedScene" uid="uid://mgyg01l21t0j" path="res://world/World.tscn" id="7_fb4vs"]
|
||||
[ext_resource type="Script" path="res://network/PlayerState.gd" id="5_wttxq"]
|
||||
[ext_resource type="Environment" uid="uid://dixa0yso2s1u3" path="res://world/Environment.tres" id="8_5uta8"]
|
||||
[ext_resource type="PackedScene" uid="uid://cch67vqpsmtej" path="res://ui/debug/DebugLabel.tscn" id="8_jr2jn"]
|
||||
[ext_resource type="Script" path="res://ui/debug/FPSLabel.gd" id="9_0imyg"]
|
||||
[ext_resource type="CameraAttributesPractical" uid="uid://b835orxyqq6w5" path="res://world/CameraAttributes.tres" id="9_w4cdu"]
|
||||
[ext_resource type="CameraAttributesPractical" uid="uid://b835orxyqq6w5" path="res://camera/CameraAttributes.tres" id="9_w4cdu"]
|
||||
[ext_resource type="PackedScene" uid="uid://tgmbtt7u172g" path="res://world/Arena.blend" id="10_cje7b"]
|
||||
[ext_resource type="Script" path="res://world/Sun.gd" id="10_mlmor"]
|
||||
[ext_resource type="Script" path="res://ui/debug/PingLabel.gd" id="10_pu6sd"]
|
||||
[ext_resource type="Script" path="res://ui/debug/PositionLabel.gd" id="11_k0017"]
|
||||
[ext_resource type="PackedScene" uid="uid://hnn0n1xc2qt7" path="res://world/Tree.blend" id="11_wlyv1"]
|
||||
[ext_resource type="PackedScene" uid="uid://cb2t7bvvf3gwh" path="res://enemy/slime/Slime.tscn" id="12_6yrwn"]
|
||||
[ext_resource type="Script" path="res://ui/debug/VelocityLabel.gd" id="12_dgr41"]
|
||||
[ext_resource type="Script" path="res://world/Camera.gd" id="13_y4waa"]
|
||||
[ext_resource type="Script" path="res://camera/Camera.gd" id="13_y4waa"]
|
||||
[ext_resource type="Material" uid="uid://ddy5gkw0k16dq" path="res://shader/OutlineMaterial.tres" id="14_hobco"]
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_7yiqd"]
|
||||
@ -41,17 +43,17 @@ autostart = true
|
||||
script = ExtResource("4_k8n1i")
|
||||
|
||||
[node name="Timer" type="Timer" parent="Client/Login"]
|
||||
wait_time = 10.0
|
||||
wait_time = 5.0
|
||||
autostart = true
|
||||
|
||||
[node name="Spawn" type="Node" parent="Client"]
|
||||
script = ExtResource("5_7n5ie")
|
||||
[node name="PlayerState" type="Node" parent="Client"]
|
||||
script = ExtResource("5_wttxq")
|
||||
player_scene = ExtResource("5_22pku")
|
||||
|
||||
[node name="Players" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="World" parent="." instance=ExtResource("7_fb4vs")]
|
||||
[node name="World" type="Node3D" parent="."]
|
||||
|
||||
[node name="Sun" type="DirectionalLight3D" parent="World"]
|
||||
transform = Transform3D(0.984808, 0.122788, -0.122788, 0, 0.707107, 0.707107, 0.173648, -0.696364, 0.696364, 0, 10, 0)
|
||||
@ -63,6 +65,27 @@ script = ExtResource("10_mlmor")
|
||||
environment = ExtResource("8_5uta8")
|
||||
camera_attributes = ExtResource("9_w4cdu")
|
||||
|
||||
[node name="Arena" parent="World" instance=ExtResource("10_cje7b")]
|
||||
|
||||
[node name="Trees" type="Node3D" parent="World"]
|
||||
|
||||
[node name="Tree" parent="World/Trees" instance=ExtResource("11_wlyv1")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.11323, 0, -4.64839)
|
||||
|
||||
[node name="Tree2" parent="World/Trees" instance=ExtResource("11_wlyv1")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.11323, 0, 5.35161)
|
||||
|
||||
[node name="Enemies" type="Node3D" parent="World"]
|
||||
|
||||
[node name="Slime" parent="World/Enemies" instance=ExtResource("12_6yrwn")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.53558, 1.28057, -3.79687)
|
||||
|
||||
[node name="Slime2" parent="World/Enemies" instance=ExtResource("12_6yrwn")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.00829, 1.28057, -1.95247)
|
||||
|
||||
[node name="Slime3" parent="World/Enemies" instance=ExtResource("12_6yrwn")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.53558, 1.28057, -0.306177)
|
||||
|
||||
[node name="UI" type="Control" parent="."]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
|
@ -1,28 +0,0 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://mgyg01l21t0j"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://tgmbtt7u172g" path="res://world/Arena.blend" id="1_1sh4g"]
|
||||
[ext_resource type="PackedScene" uid="uid://hnn0n1xc2qt7" path="res://world/Tree.blend" id="2_lunhk"]
|
||||
[ext_resource type="PackedScene" uid="uid://cb2t7bvvf3gwh" path="res://enemy/Slime.tscn" id="3_uuodv"]
|
||||
|
||||
[node name="World" type="Node3D"]
|
||||
|
||||
[node name="Arena" parent="." instance=ExtResource("1_1sh4g")]
|
||||
|
||||
[node name="Trees" type="Node3D" parent="."]
|
||||
|
||||
[node name="Tree" parent="Trees" instance=ExtResource("2_lunhk")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.11323, 0, -4.64839)
|
||||
|
||||
[node name="Tree2" parent="Trees" instance=ExtResource("2_lunhk")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.11323, 0, 5.35161)
|
||||
|
||||
[node name="Enemies" type="Node3D" parent="."]
|
||||
|
||||
[node name="Slime" parent="Enemies" instance=ExtResource("3_uuodv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.53558, 1.28057, -3.79687)
|
||||
|
||||
[node name="Slime2" parent="Enemies" instance=ExtResource("3_uuodv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.00829, 1.28057, -1.95247)
|
||||
|
||||
[node name="Slime3" parent="Enemies" instance=ExtResource("3_uuodv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.53558, 1.28057, -0.306177)
|
Reference in New Issue
Block a user