1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#[cfg(feature = "specs")] use specs::DenseVecStorage; /// A mob (missile, upgrade, or powerup) ID #[derive(Copy, Clone, Debug, Default, Eq, PartialEq, Hash)] #[cfg_attr(feature = "specs", derive(Component))] pub struct Mob(pub u16); wrapper_serde_decl!(Mob); #[cfg(feature = "specs")] mod specs_convert { use super::*; use specs::Entity; use std::convert::TryInto; impl From<Entity> for Mob { fn from(ent: Entity) -> Self { Mob(ent.id().try_into().expect("Entity id out of range")) } } }