use crate::scene::Scene; pub trait EngineTrait { type PlatformCtx: Clone; fn new() -> Self; fn initialize(&mut self, platform_context: Self::PlatformCtx); fn frame_update(&mut self, platform_context: Self::PlatformCtx); fn fixed_update(&mut self, platform_context: Self::PlatformCtx); fn handle_event(&mut self, platform_context: Self::PlatformCtx); fn current_scene_mut(&mut self) -> &mut Scene; fn current_scene(&self) -> &Scene; }