diff options
Diffstat (limited to 'engine/src/lib.rs')
| -rw-r--r-- | engine/src/lib.rs | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/engine/src/lib.rs b/engine/src/lib.rs index 6ccba53..75bc921 100644 --- a/engine/src/lib.rs +++ b/engine/src/lib.rs @@ -3,15 +3,16 @@ use ecs::component::Sequence as ComponentSequence; use ecs::extension::Extension; -use ecs::pair::Pair; use ecs::phase::PRE_UPDATE as PRE_UPDATE_PHASE; use ecs::sole::Sole; +use ecs::system::initializable::Initializable; +use ecs::system::observer::Observer; use ecs::system::{Into, System}; use ecs::uid::Uid; use ecs::{SoleAlreadyExistsError, World}; use crate::asset::{Assets, Extension as AssetExtension}; -use crate::delta_time::{update as update_delta_time, DeltaTime, LastUpdate}; +use crate::delta_time::{DeltaTime, LastUpdate, update as update_delta_time}; mod opengl; mod util; @@ -35,7 +36,7 @@ pub mod projection; pub mod renderer; pub mod texture; pub mod transform; -pub mod window; +pub mod windowing; pub extern crate ecs; @@ -56,6 +57,9 @@ impl Engine #[must_use] pub fn new() -> Self { + #[cfg(windows)] + nu_ansi_term::enable_ansi_support().unwrap(); + let mut world = World::new(); world.add_sole(DeltaTime::default()).ok(); @@ -69,7 +73,8 @@ impl Engine let mut assets = Assets::with_capacity(INITIAL_ASSET_CAPACITY); - crate::model::set_asset_importers(&mut assets); + crate::model::asset::add_importers(&mut assets); + crate::material::asset::add_importers(&mut assets); crate::image::set_asset_importers(&mut assets); world.add_extension(AssetExtension { assets }); @@ -93,13 +98,12 @@ impl Engine self.world.register_system(phase_euid, system); } - pub fn register_observer_system<'this, SystemImpl>( + pub fn register_observer<'this, SystemImpl>( &'this mut self, - system: impl System<'this, SystemImpl>, - event: Pair<Uid, Uid>, + observer: impl Observer<'this, SystemImpl>, ) { - self.world.register_observer_system(system, event); + self.world.register_observer(observer); } /// Adds a globally shared singleton value. |
