1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use rapier3d::prelude::{ColliderHandle, RigidBodyHandle};
use specs::{Component, VecStorage};
/// What makes an entity physical in Voxelize.
#[derive(Default, Component)]
#[storage(VecStorage)]
pub struct InteractorComp(pub RigidBodyHandle, pub ColliderHandle);
impl InteractorComp {
/// Create a new interactor component.
pub fn new(data: (RigidBodyHandle, ColliderHandle)) -> Self {
Self(data.0, data.1)
}
pub fn body_handle(&self) -> &RigidBodyHandle {
&self.0
}
pub fn collider_handle(&self) -> &ColliderHandle {
&self.1
}
}