pub struct EngineContext<'a> {
pub world: Option<&'a mut dyn Any>,
pub services: ServiceRegistry,
}Expand description
Engine context providing access to various subsystems.
This structure is shared across both the Strategic Brain (Agents) and the user-facing application logic.
§Design
Subsystem-specific services (e.g., GraphicsDevice, RenderSystem) are
accessed through the generic ServiceRegistry instead of named fields.
This respects the Interface Segregation Principle: each agent fetches only
the services it needs, and adding new services never changes this struct.
Fields§
§world: Option<&'a mut dyn Any>A type-erased pointer to the main ECS World. This allows agents to access data without khora-core depending on khora-data.
services: ServiceRegistryGeneric service registry — agents fetch typed services as needed.
Auto Trait Implementations§
impl<'a> Freeze for EngineContext<'a>
impl<'a> !RefUnwindSafe for EngineContext<'a>
impl<'a> !Send for EngineContext<'a>
impl<'a> !Sync for EngineContext<'a>
impl<'a> Unpin for EngineContext<'a>
impl<'a> !UnwindSafe for EngineContext<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more