veloren/common/src/comp/body.rs

29 lines
618 B
Rust
Raw Normal View History

2019-06-28 23:42:51 +00:00
pub mod humanoid;
2019-07-21 12:42:45 +00:00
pub mod object;
2019-06-28 23:42:51 +00:00
pub mod quadruped;
pub mod quadruped_medium;
use specs::{Component, FlaggedStorage};
use specs_idvs::IDVStorage;
2019-06-28 23:42:51 +00:00
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum Body {
Humanoid(humanoid::Body),
Quadruped(quadruped::Body),
QuadrupedMedium(quadruped_medium::Body),
2019-07-21 12:42:45 +00:00
Object(object::Body),
2019-06-28 23:42:51 +00:00
}
2019-06-30 11:48:28 +00:00
2019-08-04 08:21:29 +00:00
impl Body {
pub fn is_humanoid(&self) -> bool {
match self {
Body::Humanoid(_) => true,
_ => false,
}
}
}
2019-06-30 11:48:28 +00:00
impl Component for Body {
type Storage = FlaggedStorage<Self, IDVStorage<Self>>;
2019-06-30 11:48:28 +00:00
}