summaryrefslogtreecommitdiff
path: root/engine-ecs/src/phase.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine-ecs/src/phase.rs')
-rw-r--r--engine-ecs/src/phase.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/engine-ecs/src/phase.rs b/engine-ecs/src/phase.rs
new file mode 100644
index 0000000..976de1b
--- /dev/null
+++ b/engine-ecs/src/phase.rs
@@ -0,0 +1,20 @@
+use crate::{Component, World, declare_entity};
+
+#[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,));
+declare_entity!(pub POST_UPDATE, (Phase,));
+
+pub(crate) fn spawn_entities(world: &mut World)
+{
+ world.create_declared_entity(&START);
+ world.create_declared_entity(&PRE_UPDATE);
+ world.create_declared_entity(&UPDATE);
+ world.create_declared_entity(&POST_UPDATE);
+}
+
+#[derive(Debug, Component)]
+pub(crate) struct HasSystem;