30 lines
838 B
Rust
30 lines
838 B
Rust
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<Box<dyn GameState>>;
|
|
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<Box<dyn GameState>> {
|
|
None
|
|
}
|
|
|
|
fn input(&mut self, _resources: &mut AnyMap, _event: &Event<()>) {}
|
|
|
|
fn render(
|
|
&mut self,
|
|
_resources: &mut AnyMap,
|
|
_display: &Display,
|
|
_target: &mut SimpleFrameBuffer,
|
|
) {
|
|
}
|
|
}
|