use super::Transition;
use crate::engine::{Debug, Engine, Frame};
use dear_imgui_reflect::Inspector;
pub trait Scene {
fn on_enter(&mut self, _engine: &mut Engine);
fn on_exit(&mut self, _engine: &mut Engine);
fn on_unpause(&mut self, _engine: &mut Engine) {}
fn handle_input(&mut self, engine: &mut Engine);
fn update(&mut self, dt: f32, engine: &mut Engine) -> Transition;
fn render(&mut self, engine: &mut Engine, frame: &mut Frame);
fn render_as_overlay(&mut self, _engine: &mut Engine, _frame: &mut Frame) {}
fn render_debug(&mut self, _engine: &mut Engine, _debug: &mut Debug) {}
fn imgui_reflect_dyn(&mut self, _ui: &mut Inspector<'_, '_>) -> bool {
false
}
}