pub struct EngineHandle { /* private fields */ }Expand description
A handle to a running or initialized engine instance.
Holds the engine configuration, an optional Canvas 2D renderer, an
optional WebGPU renderer, and the optional scheduler handle once the
game loop has started. Use Engine::new_handle to construct one, then
call init_canvas or init_webgpu (matching the backend chosen in
RenderConfig) and finally start to begin the game loop.
Implementations§
Source§impl EngineHandle
Implements lifecycle management for EngineHandle.
impl EngineHandle
Implements lifecycle management for EngineHandle.
All getter methods (get_config, get_canvas_renderer, get_webgpu_renderer)
are generated by the Data derive on the struct definition; this impl
only contributes lifecycle and accessor behavior that is not expressible
as a plain getter.
Sourcepub fn init_canvas(&mut self) -> bool
pub fn init_canvas(&mut self) -> bool
Initializes the Canvas 2D rendering backend.
On success, populates canvas_renderer and clears webgpu_renderer.
On failure, both renderer fields remain None.
§Returns
bool-trueif the renderer was created successfully.
Sourcepub async fn init_webgpu(&mut self) -> Result<WebGpuRenderer, WebGpuInitError>
pub async fn init_webgpu(&mut self) -> Result<WebGpuRenderer, WebGpuInitError>
Initializes the WebGPU rendering backend.
On success, populates webgpu_renderer and clears canvas_renderer.
On failure, both renderer fields remain None and the typed error is
returned so the caller can decide how to surface it (typically via
Console::error).
§Returns
Result<WebGpuRenderer, WebGpuInitError>- The initialized renderer, or a typed error describing the specific failure.
Sourcepub fn start(&mut self, handler: TickHandlerRc)
pub fn start(&mut self, handler: TickHandlerRc)
Starts the game loop with the given tick handler.
The scheduler configuration from EngineConfig controls the fixed
timestep and maximum frame time. The scheduler handle is stored
internally and can be stopped via stop.
§Arguments
TickHandlerRc- The tick handler receiving update and render callbacks.
Sourcepub fn is_running(&self) -> bool
pub fn is_running(&self) -> bool
Returns whether the game loop is currently running.
§Returns
bool-trueif the scheduler is running.
Source§impl EngineHandle
impl EngineHandle
pub fn get_config(&self) -> &EngineConfig
pub fn get_mut_config(&mut self) -> &mut EngineConfig
pub fn set_config(&mut self, val: EngineConfig) -> &mut Self
pub fn get_canvas_renderer(&self) -> CanvasRenderer
pub fn try_get_canvas_renderer(&self) -> &Option<CanvasRenderer>
pub fn get_mut_canvas_renderer(&mut self) -> &mut Option<CanvasRenderer>
pub fn set_canvas_renderer(&mut self, val: Option<CanvasRenderer>) -> &mut Self
pub fn get_webgpu_renderer(&self) -> WebGpuRenderer
pub fn try_get_webgpu_renderer(&self) -> &Option<WebGpuRenderer>
pub fn get_mut_webgpu_renderer(&mut self) -> &mut Option<WebGpuRenderer>
pub fn set_webgpu_renderer(&mut self, val: Option<WebGpuRenderer>) -> &mut Self
pub fn get_scheduler_handle(&self) -> SchedulerHandle
pub fn try_get_scheduler_handle(&self) -> &Option<SchedulerHandle>
pub fn get_mut_scheduler_handle(&mut self) -> &mut Option<SchedulerHandle>
pub fn set_scheduler_handle( &mut self, val: Option<SchedulerHandle>, ) -> &mut Self
Source§impl EngineHandle
impl EngineHandle
pub fn new( config: EngineConfig, canvas_renderer: Option<CanvasRenderer>, webgpu_renderer: Option<WebGpuRenderer>, scheduler_handle: Option<SchedulerHandle>, ) -> Self
Trait Implementations§
Source§impl Clone for EngineHandle
impl Clone for EngineHandle
Source§fn clone(&self) -> EngineHandle
fn clone(&self) -> EngineHandle
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more