digging/src/state.rs

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,
) {
}
}