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"]
|
[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")
|
mesh = NodePath("soldier_m")
|
||||||
|
|
||||||
[node name="soldier_m" parent="." unique_id=281995630 instance=ExtResource("1_pgypt")]
|
[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)
|
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;
|
use crate::player::soldier_mesh::SoldierMesh;
|
||||||
|
|
||||||
#[derive(GodotClass)]
|
#[derive(GodotClass)]
|
||||||
#[class(base=Node3D, init)]
|
#[class(base=CharacterBody3D, init)]
|
||||||
pub struct MenuPlayer {
|
pub struct MenuPlayer {
|
||||||
#[export]
|
#[export]
|
||||||
mesh: Option<Gd<SoldierMesh>>,
|
mesh: Option<Gd<SoldierMesh>>,
|
||||||
|
|
||||||
base: Base<Node3D>,
|
base: Base<CharacterBody3D>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[godot_api]
|
#[godot_api]
|
||||||
impl INode3D for MenuPlayer {
|
impl ICharacterBody3D for MenuPlayer {
|
||||||
fn ready(&mut self) {
|
fn ready(&mut self) {
|
||||||
if let Some(mesh) = &mut self.mesh {
|
if let Some(mesh) = &mut self.mesh {
|
||||||
mesh.bind_mut().spawn_raygun();
|
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