Add remote player

This commit is contained in:
Sofia 2026-07-18 00:58:46 +03:00
parent 1761d730fc
commit 90a39d712d
4 changed files with 52 additions and 1 deletions

View File

@ -1,6 +1,6 @@
[gd_scene format=3 uid="uid://7iooamjot1tg"] [gd_scene format=3 uid="uid://7iooamjot1tg"]
[ext_resource type="PackedScene" uid="uid://ct70bpbca8one" path="res://scenes/player.tscn" id="1_y4ph1"] [ext_resource type="PackedScene" uid="uid://ct70bpbca8one" path="res://scenes/local_player.tscn" id="1_y4ph1"]
[sub_resource type="ImageTexture" id="ImageTexture_3vyb7"] [sub_resource type="ImageTexture" id="ImageTexture_3vyb7"]

View File

@ -0,0 +1,18 @@
[gd_scene format=3 uid="uid://kfxc0migw80o"]
[sub_resource type="CapsuleMesh" id="CapsuleMesh_1cgct"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_1cgct"]
[node name="player" type="RemotePlayer" unique_id=845968872]
move_speed = 5.0
[node name="mesh_instance_3d" type="MeshInstance3D" parent="." unique_id=700336478]
mesh = SubResource("CapsuleMesh_1cgct")
[node name="collision_shape_3d" type="CollisionShape3D" parent="." unique_id=1110995513]
shape = SubResource("CapsuleShape3D_1cgct")
[node name="camera_3d" type="Camera3D" parent="." unique_id=1773137418]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5391109, 0)
current = true

View File

@ -152,3 +152,36 @@ impl LocalPlayer {
} }
} }
} }
#[derive(GodotClass)]
#[class(base=CharacterBody3D, init)]
pub struct RemotePlayer {
#[export]
move_speed: f32,
movement_dir: Vector3,
y_speed: f32,
base: Base<CharacterBody3D>,
}
impl Player for RemotePlayer {
fn get_y_speed(&self) -> f32 {
self.y_speed
}
fn set_y_speed(&mut self, speed: f32) {
self.y_speed = speed;
}
fn get_movement_dir(&self) -> Vector3 {
self.movement_dir
}
fn get_move_speed(&self) -> f32 {
self.move_speed
}
}
#[godot_api]
impl ICharacterBody3D for RemotePlayer {}