summaryrefslogtreecommitdiff
path: root/ecs/src/phase.rs
blob: c13c4328fa38fae075cf44e5f68fe9e5407053ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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::<ChildOf>(*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);
}