use ecs_macros::Component; use crate::pair::{ChildOf, Pair}; use crate::{declare_entity, World}; #[derive(Debug, Default, Clone, Copy, Component)] pub struct Phase; declare_entity!(pub START, (Phase,)); declare_entity!(pub PRE_UPDATE, (Phase,)); declare_entity!(pub UPDATE, (Phase, Pair::new::(*PRE_UPDATE))); #[doc(hidden)] pub(crate) fn spawn_entities(world: &mut World) { world.create_declared_entity(&START); world.create_declared_entity(&PRE_UPDATE); world.create_declared_entity(&UPDATE); }