79 lines
1.2 KiB
Rust
79 lines
1.2 KiB
Rust
extern crate self as lyra_ecs;
|
|
|
|
#[allow(unused_imports)]
|
|
pub(crate) mod lyra_engine {
|
|
pub(crate) mod ecs {
|
|
pub use super::super::*;
|
|
}
|
|
}
|
|
|
|
use std::ops::BitOr;
|
|
|
|
mod archetype;
|
|
pub use archetype::*;
|
|
|
|
mod entity;
|
|
pub use entity::*;
|
|
|
|
mod world;
|
|
pub use world::*;
|
|
|
|
mod command;
|
|
pub use command::*;
|
|
|
|
mod bundle;
|
|
pub use bundle::*;
|
|
|
|
mod component;
|
|
pub use component::*;
|
|
|
|
pub mod query;
|
|
//pub use query::*;
|
|
|
|
pub mod relation;
|
|
pub use relation::Relation;
|
|
|
|
mod component_info;
|
|
pub use component_info::*;
|
|
|
|
mod resource;
|
|
pub use resource::*;
|
|
|
|
pub mod system;
|
|
//pub use system::*;
|
|
|
|
mod tick;
|
|
pub use tick::*;
|
|
|
|
/// Implements Component for glam math types
|
|
#[cfg(feature = "math")]
|
|
pub mod math;
|
|
|
|
pub use lyra_ecs_derive::*;
|
|
|
|
pub use atomic_refcell::AtomicRef;
|
|
pub use atomic_refcell::AtomicRefMut;
|
|
|
|
#[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
|
|
}
|
|
}
|
|
} |