Make menu players move and slide
This commit is contained in:
parent
62c8a687f3
commit
5e7de8d936
@ -2,8 +2,14 @@
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bod6b3befmyt5" path="res://scenes/player/soldier_m.tscn" id="1_pgypt"]
|
||||
|
||||
[node name="menu_player" type="MenuPlayer" unique_id=928718358 node_paths=PackedStringArray("mesh")]
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_1cgct"]
|
||||
|
||||
[node name="menu_player" type="MenuPlayer" unique_id=724765640 node_paths=PackedStringArray("mesh")]
|
||||
mesh = NodePath("soldier_m")
|
||||
|
||||
[node name="soldier_m" parent="." unique_id=281995630 instance=ExtResource("1_pgypt")]
|
||||
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
|
||||
|
||||
[node name="collision_shape_3d" type="CollisionShape3D" parent="." unique_id=1493078812]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.995473, 0)
|
||||
shape = SubResource("CapsuleShape3D_1cgct")
|
||||
|
||||
@ -1,21 +1,28 @@
|
||||
use godot::prelude::*;
|
||||
use godot::{
|
||||
classes::{CharacterBody3D, ICharacterBody3D},
|
||||
prelude::*,
|
||||
};
|
||||
|
||||
use crate::player::soldier_mesh::SoldierMesh;
|
||||
|
||||
#[derive(GodotClass)]
|
||||
#[class(base=Node3D, init)]
|
||||
#[class(base=CharacterBody3D, init)]
|
||||
pub struct MenuPlayer {
|
||||
#[export]
|
||||
mesh: Option<Gd<SoldierMesh>>,
|
||||
|
||||
base: Base<Node3D>,
|
||||
base: Base<CharacterBody3D>,
|
||||
}
|
||||
|
||||
#[godot_api]
|
||||
impl INode3D for MenuPlayer {
|
||||
impl ICharacterBody3D for MenuPlayer {
|
||||
fn ready(&mut self) {
|
||||
if let Some(mesh) = &mut self.mesh {
|
||||
mesh.bind_mut().spawn_raygun();
|
||||
}
|
||||
}
|
||||
|
||||
fn physics_process(&mut self, _: f64) {
|
||||
self.base_mut().move_and_slide();
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user