1
2
3
4
5
6
7
8
9
10
11
pub trait Scene {
    type AssetLoader;
    type InputManager;
    type Renderer;
    type Gl;

    fn init(&mut self, al: &Self::AssetLoader, il: &mut Self::InputManager, gl: &Self::Gl);
    fn update(&mut self);
    fn render(&mut self, r: &mut Self::Renderer);
}