Derive Macro vert_macros::Dependencies
source · #[derive(Dependencies)]
Expand description
A struct like this:
pub struct RendererDependencies {
scheduler: Handle<Scheduler>,
graphics: Handle<GraphicsContext>,
}
Will be expanded into this:
impl Dependencies for RendererDependencies {
fn type_ids() -> Vec<crate::app::ModuleId> {
let mut ids = ::alloc::vec::Vec::new();
ids.extend(<Handle<Scheduler> as Dependencies>::type_ids());
ids.extend(<Handle<GraphicsContext> as Dependencies>::type_ids());
ids
}
fn from_untyped_handles(ptrs: &[crate::app::UntypedHandle]) -> Self {
let mut offset: usize = 0;
let ids = <Handle<Scheduler> as Dependencies>::type_ids();
let range_0 = offset..(offset + ids.len());
offset += ids.len();
let ids = <Handle<GraphicsContext> as Dependencies>::type_ids();
let range_1 = offset..(offset + ids.len());
offset += ids.len();
Self {
scheduler: <Handle<
Scheduler,
> as Dependencies>::from_untyped_handles(&ptrs[range_0]),
graphics: <Handle<
GraphicsContext,
> as Dependencies>::from_untyped_handles(&ptrs[range_1]),
}
}
}