use anymap::AnyMap; use glium::{framebuffer::SimpleFrameBuffer, glutin::event::Event, Display, Frame, Surface}; mod test_state; pub use test_state::TestState; pub trait GameState { fn input(&mut self, resources: &mut AnyMap, event: &Event<()>); fn update(&mut self, resources: &mut AnyMap, dt: f32) -> Option>; fn render(&mut self, resources: &mut AnyMap, display: &Display, target: &mut SimpleFrameBuffer); } pub struct DummyState; impl GameState for DummyState { fn update(&mut self, _resourcess: &mut AnyMap, _dt: f32) -> Option> { None } fn input(&mut self, _resources: &mut AnyMap, _event: &Event<()>) {} fn render( &mut self, _resources: &mut AnyMap, _display: &Display, _target: &mut SimpleFrameBuffer, ) { } }