use crate::world::World;
use crate::input::InputHandler;
pub trait GameState {
fn new() -> Self
where
Self: Sized;
fn update(&mut self, dt: f32, input: &InputHandler, world: &mut World);
/// Método opcional para desenho customizado adicional.
/// A renderização padrão é feita automaticamente pelo Renderer.
fn draw(&mut self, _world: &World, _pixels: &mut [u8]) {
// Implementação padrão vazia
}
}