Trait gg::scene::SceneManager
[−]
[src]
pub trait SceneManager<T: Sized> { type Scene: ?Sized + HasId = Scene<State=T>; type SceneTransition = SceneTransition<T>; fn get_scenes(&self) -> &Vec<Box<Self::Scene>>; fn get_scenes_mut(&mut self) -> &mut Vec<Box<Self::Scene>>; fn handle_transition(&mut self, Self::SceneTransition); fn update(&mut self, dt: f64, keys: &Keys); fn display(&mut self, display: &GlutinFacade); }
This trait has to be implemented by the SceneManager that will run your game.
A sample implementation is StackSceneManager
Associated Types
type Scene: ?Sized + HasId = Scene<State=T>
The Associated Scene
type SceneTransition = SceneTransition<T>
The Associated SceneTransition
Required Methods
fn get_scenes(&self) -> &Vec<Box<Self::Scene>>
Return the scenes as non-mut references
fn get_scenes_mut(&mut self) -> &mut Vec<Box<Self::Scene>>
Return the scenes as mut references
fn handle_transition(&mut self, Self::SceneTransition)
Make the manager handle a given transition.
fn update(&mut self, dt: f64, keys: &Keys)
Update the scene/s
fn display(&mut self, display: &GlutinFacade)
Display the scene/s
Implementors
impl<T> SceneManager<T> for StackSceneManager<T> where T: Sized + Clone