diff --git a/engine/src/engine/engine.rs b/engine/src/engine/engine.rs index 07a4436..d5095c0 100644 --- a/engine/src/engine/engine.rs +++ b/engine/src/engine/engine.rs @@ -168,21 +168,13 @@ impl Engine { let asset_manager = AssetManager::new(&engine_settings)?; - if let Some(mut gui_info) = create_info.gui_info { - if let Font::Path(path) = &mut gui_info.font { - path.set_prefix(&create_info.resource_base_path); - } - gui_info.resource_directory.assume_prefix_free(); + let gui_handler = GuiHandler::new(create_info.gui_info, &context)?; + let gui_post_process = Arc::new(GuiPostProcess(gui_handler.clone())); + context + .render_core() + .add_post_processing_routine(gui_post_process.clone()); - let gui_handler = GuiHandler::new(gui_info, &context)?; - - let gui_post_process = Arc::new(GuiPostProcess(gui_handler.clone())); - context - .render_core() - .add_post_processing_routine(gui_post_process.clone()); - - world.resources.insert(gui_handler); - } + world.resources.insert(gui_handler); // default keyboard navigation let mut direction_mapping = HashMap::new(); diff --git a/engine/src/engine/engine_create_info.rs b/engine/src/engine/engine_create_info.rs index c26c99d..2ed40c8 100644 --- a/engine/src/engine/engine_create_info.rs +++ b/engine/src/engine/engine_create_info.rs @@ -13,7 +13,7 @@ pub struct EngineCreateInfo<'a> { pub vulkan_debug_info: VulkanDebugInfo, pub volume_info: HashMap, - pub gui_info: Option>, + pub gui_info: GuiHandlerCreateInfo<'a>, pub enable_backtrace: bool, pub enable_mouse: bool, @@ -60,7 +60,7 @@ impl<'a> Default for EngineCreateInfo<'a> { renderdoc: false, }, volume_info: HashMap::new(), - gui_info: None, + gui_info: GuiHandlerCreateInfo::new(), enable_backtrace: true, enable_mouse: true, enable_keyboard: true, diff --git a/map/Cargo.toml b/map/Cargo.toml index 17a3d51..70fea6e 100644 --- a/map/Cargo.toml +++ b/map/Cargo.toml @@ -10,3 +10,4 @@ assetpath = { workspace = true } destructure_traitobject = { workspace = true } engine = { path = "../engine" } +ecs = { path = "../ecs" } diff --git a/map/src/map.rs b/map/src/map.rs index 5d4107f..b7b7dc1 100644 --- a/map/src/map.rs +++ b/map/src/map.rs @@ -31,7 +31,7 @@ use std::ops::IndexMut; use cgmath::Rad; -use cgmath::{vec2, InnerSpace, Vector2, Vector3, Zero}; +use cgmath::{InnerSpace, Vector2, Vector3, Zero, vec2}; #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum MapObjectType { @@ -110,13 +110,7 @@ impl Map { self.async_db.dispatch() } - pub fn add_height( - &self, - x: u32, - y: u32, - height: f32, - scene: &mut impl SceneEntities, - ) -> Result<()> { + pub fn add_height(&self, x: u32, y: u32, height: f32, world: &mut World) -> Result<()> { let mut data = self.data.write().unwrap(); data.add_height(x, y, height, &self.async_db)?; @@ -713,7 +707,7 @@ impl Map { return Err(anyhow::Error::msg(format!( "Map: Could not find index ({}) in height map", index - ))) + ))); } }; @@ -739,7 +733,7 @@ impl Map { return Err(anyhow::Error::msg(format!( "Map: Image ({}) could not be found", texture.name - ))) + ))); } }; @@ -769,7 +763,7 @@ impl Map { return Err(anyhow::Error::msg(format!( "Map: Index ({}) of tiles map could not be found", i - ))) + ))); } }; @@ -779,7 +773,7 @@ impl Map { return Err(anyhow::Error::msg(format!( "Map: Texture with id ({}) of textures_info could not be found", texture_id - ))) + ))); } } }