From fb9263ff3fd6211d5ca19e182094e25835886503 Mon Sep 17 00:00:00 2001 From: HampusM Date: Sat, 9 Aug 2025 14:03:42 +0200 Subject: refactor(engine): manually create declared entities --- engine/src/input.rs | 6 ++++-- engine/src/renderer.rs | 4 ++-- engine/src/renderer/opengl.rs | 2 ++ engine/src/window.rs | 8 +++++--- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/engine/src/input.rs b/engine/src/input.rs index d6a82f6..af89271 100644 --- a/engine/src/input.rs +++ b/engine/src/input.rs @@ -4,7 +4,7 @@ use ecs::extension::Collector as ExtensionCollector; use ecs::pair::{ChildOf, Pair}; use ecs::phase::{Phase, PRE_UPDATE as PRE_UPDATE_PHASE, START as START_PHASE}; use ecs::sole::Single; -use ecs::{static_entity, Sole}; +use ecs::{declare_entity, Sole}; use crate::vector::Vec2; use crate::window::{Window, UPDATE_PHASE as WINDOW_UPDATE_PHASE}; @@ -16,7 +16,7 @@ mod reexports pub use reexports::*; -static_entity!( +declare_entity!( SET_PREV_KEY_STATE_PHASE, (Phase, Pair::new::(*WINDOW_UPDATE_PHASE)) ); @@ -149,6 +149,8 @@ impl ecs::extension::Extension for Extension { fn collect(self, mut collector: ExtensionCollector<'_>) { + collector.add_declared_entity(&SET_PREV_KEY_STATE_PHASE); + collector.add_system(*START_PHASE, initialize); collector.add_system(*PRE_UPDATE_PHASE, maybe_clear_cursor_is_first_move); collector.add_system(*SET_PREV_KEY_STATE_PHASE, set_pending_key_states); diff --git a/engine/src/renderer.rs b/engine/src/renderer.rs index 17bc925..044554f 100644 --- a/engine/src/renderer.rs +++ b/engine/src/renderer.rs @@ -1,7 +1,7 @@ +use ecs::declare_entity; use ecs::pair::{ChildOf, Pair}; use ecs::phase::{Phase, UPDATE as UPDATE_PHASE}; -use ecs::static_entity; pub mod opengl; -static_entity!(pub RENDER_PHASE, (Phase, Pair::new::(*UPDATE_PHASE))); +declare_entity!(pub RENDER_PHASE, (Phase, Pair::new::(*UPDATE_PHASE))); diff --git a/engine/src/renderer/opengl.rs b/engine/src/renderer/opengl.rs index cfd046f..3467272 100644 --- a/engine/src/renderer/opengl.rs +++ b/engine/src/renderer/opengl.rs @@ -101,6 +101,8 @@ impl ecs::extension::Extension for Extension { fn collect(self, mut collector: ecs::extension::Collector<'_>) { + collector.add_declared_entity(&RENDER_PHASE); + collector.add_system(*START_PHASE, initialize); collector.add_system( diff --git a/engine/src/window.rs b/engine/src/window.rs index d342341..a335856 100644 --- a/engine/src/window.rs +++ b/engine/src/window.rs @@ -7,7 +7,7 @@ use ecs::extension::Collector as ExtensionCollector; use ecs::pair::{ChildOf, Pair}; use ecs::phase::{Phase, START as START_PHASE}; use ecs::sole::Single; -use ecs::{static_entity, Sole}; +use ecs::{declare_entity, Sole}; use glfw::window::{Hint as WindowCreationHint, HintValue as WindowCreationHintValue}; use glfw::WindowSize; use util_macros::VariantArr; @@ -16,7 +16,7 @@ use crate::data_types::dimens::Dimens; use crate::renderer::RENDER_PHASE; use crate::vector::Vec2; -static_entity!( +declare_entity!( pub UPDATE_PHASE, (Phase, Pair::new::(*RENDER_PHASE)) ); @@ -692,8 +692,10 @@ impl ecs::extension::Extension for Extension { fn collect(self, mut collector: ExtensionCollector<'_>) { + collector.add_declared_entity(&self::UPDATE_PHASE); + collector.add_system(*START_PHASE, initialize); - collector.add_system(*UPDATE_PHASE, update); + collector.add_system(*self::UPDATE_PHASE, update); let window = self .window_builder -- cgit v1.2.3-18-g5258