extern crate self as lyra_ecs; #[allow(unused_imports)] pub(crate) mod lyra_engine { pub(crate) mod ecs { pub use super::super::*; } } pub mod archetype; use std::ops::BitOr; pub use archetype::*; pub mod entity; pub use entity::*; pub mod world; pub use world::*; pub mod command; pub use command::*; pub mod bundle; pub use bundle::*; pub mod component; pub use component::*; pub mod query; //pub use query::*; pub mod component_info; pub use component_info::*; pub mod resource; pub use resource::*; pub mod system; //pub use system::*; pub mod tick; pub use tick::*; /// Implements Component for glam math types #[cfg(feature = "math")] pub mod math; pub use lyra_ecs_derive::*; #[cfg(test)] mod tests; #[derive(Clone, Copy, Hash, PartialEq, Eq, PartialOrd, Ord)] pub enum Access { None, Read, Write, } impl BitOr for Access { type Output = Access; fn bitor(self, rhs: Self) -> Self::Output { if self == Access::Write || rhs == Access::Write { Access::Write } else if self == Access::Read || rhs == Access::Read { Access::Read } else { Access::None } } }