Continue new platform/glium implementations
- Assets, asset manager system - Rendering system trait - Kick off glium platform implementation - And more
This commit is contained in:
parent
f7d5c14caf
commit
e817abf8ab
18 changed files with 2557 additions and 32 deletions
30
raidillon_core/src/scene.rs
Normal file
30
raidillon_core/src/scene.rs
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
pub struct Scene {
|
||||
title: String,
|
||||
world: hecs::World,
|
||||
skybox_texture_path: String,
|
||||
}
|
||||
|
||||
pub struct SceneManager {
|
||||
scenes: Vec<Option<Scene>>,
|
||||
active_index: usize,
|
||||
}
|
||||
|
||||
impl SceneManager {
|
||||
pub fn current(&self) -> &Scene {
|
||||
self.scenes[self.active_index].as_ref().unwrap()
|
||||
}
|
||||
|
||||
pub fn current_mut(&mut self) -> &mut Scene {
|
||||
self.scenes[self.active_index].as_mut().unwrap()
|
||||
}
|
||||
|
||||
pub fn add_scene(&mut self, scene: Scene) -> usize {
|
||||
let idx = self.scenes.len();
|
||||
self.scenes.push(Some(scene));
|
||||
idx
|
||||
}
|
||||
|
||||
pub fn remove_scene(&mut self, idx: usize) {
|
||||
self.scenes[idx] = None;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue