diff options
author | HampusM <hampus@hampusmat.com> | 2025-05-25 17:34:45 +0200 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2025-06-03 14:08:40 +0200 |
commit | a109ac00e67129ddb358b6416a3241f22a441ad9 (patch) | |
tree | b0d245c01ef4be675aacfcabd6ccfc6b7cd5889e /engine/src/lib.rs | |
parent | 68a97b0123da1f181d1c78a7f760c55c3f341014 (diff) |
feat(engine): add asset management
Diffstat (limited to 'engine/src/lib.rs')
-rw-r--r-- | engine/src/lib.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/engine/src/lib.rs b/engine/src/lib.rs index c537e06..6ccba53 100644 --- a/engine/src/lib.rs +++ b/engine/src/lib.rs @@ -10,22 +10,27 @@ 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}; mod opengl; mod util; +mod work_queue; +pub mod asset; pub mod camera; pub mod collision; pub mod data_types; pub mod delta_time; pub mod draw_flags; pub mod file_format; +pub mod image; pub mod input; pub mod lighting; pub mod material; pub mod math; pub mod mesh; +pub mod model; pub mod projection; pub mod renderer; pub mod texture; @@ -37,6 +42,8 @@ pub extern crate ecs; pub(crate) use crate::data_types::matrix; pub use crate::data_types::{color, vector}; +const INITIAL_ASSET_CAPACITY: usize = 128; + #[derive(Debug)] pub struct Engine { @@ -60,6 +67,13 @@ impl Engine .initialize((LastUpdate::default(),)), ); + let mut assets = Assets::with_capacity(INITIAL_ASSET_CAPACITY); + + crate::model::set_asset_importers(&mut assets); + crate::image::set_asset_importers(&mut assets); + + world.add_extension(AssetExtension { assets }); + Self { world } } |