use super::collider_set::ColliderHandle;
use glam::Vec2;
#[derive(Clone, Debug)]
pub struct Body {
pub position: Vec2,
pub velocity: Vec2,
pub status: BodyStatus,
pub self_collide: bool,
pub(crate) colliders: Vec<ColliderHandle>,
pub(crate) movement: Vec2,
}
impl Body {
pub fn new(position: Vec2, velocity: Vec2, status: BodyStatus, self_collide: bool) -> Self {
Self {
position,
velocity,
status,
self_collide,
colliders: Vec::new(),
movement: Vec2::zero(),
}
}
}
#[derive(Copy, Clone, Debug)]
pub enum BodyStatus {
Static,
Kinematic,
}