diff --git a/core/src/scene.rs b/core/src/scene.rs index 5014d63..94b49fa 100644 --- a/core/src/scene.rs +++ b/core/src/scene.rs @@ -29,7 +29,7 @@ impl AsMut for Scene { } } -type SceneID = String; +type SceneID = &'static str; pub struct SceneManager { scenes: HashMap, @@ -55,7 +55,7 @@ impl SceneManager { pub fn current_mut(&mut self) -> &mut Scene { match &mut self.active_scene { - Some(id) => self.scenes.get_mut(id.as_mut()).unwrap().as_mut(), + Some(id) => self.scenes.get_mut(id).unwrap().as_mut(), None => panic!("No active scene"), } } diff --git a/game/src/main.rs b/game/src/main.rs index e4d1136..fe810dd 100644 --- a/game/src/main.rs +++ b/game/src/main.rs @@ -12,6 +12,9 @@ use raidillon_glium::GliumPlatform; const TEST_GLTF: &str = "pink-monkey.gltf"; const RENDERING_TEST_SYSTEM: &str = "rendering_test_system"; + +const MAIN_SCENE_ID: &str = "main_scene"; + struct RenderingTestSystem; impl System for RenderingTestSystem { @@ -52,13 +55,12 @@ fn main() { engine.system_manager.add_system(RENDERING_TEST_SYSTEM, Box::new(RenderingTestSystem)); // Set up the scene - let main_scene_id = "Main".to_owned(); let main_scene = Scene::new( - main_scene_id.clone(), + MAIN_SCENE_ID.to_owned(), None, ); - engine.scene_manager.add_scene(main_scene_id.clone(), main_scene); - engine.scene_manager.set_active_scene(main_scene_id.clone()); + engine.scene_manager.add_scene(MAIN_SCENE_ID, main_scene); + engine.scene_manager.set_active_scene(MAIN_SCENE_ID); #[cfg(feature = "glium")] {