Trait FromWorld

Source
pub trait FromWorld {
    // Required method
    fn from_world(world: &mut World) -> Self;
}
Expand description

Creates an instance of the type this trait is implemented for using data from the supplied World.

This can be helpful for complex initialization or context-aware defaults.

FromWorld is automatically implemented for any type implementing Default and may also be derived for:

  • any struct whose fields all implement FromWorld
  • any enum where one variant has the attribute #[from_world]

#[derive(Default)]
struct A;

#[derive(Default)]
struct B(Option<u32>)

struct C;

impl FromWorld for C {
    fn from_world(_world: &mut World) -> Self {
        Self
    }
}

#[derive(FromWorld)]
struct D(A, B, C);

#[derive(FromWorld)]
enum E {
    #[from_world]
    F,
    G
}

Required Methods§

Source

fn from_world(world: &mut World) -> Self

Creates Self using data from the given World.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl FromWorld for BlitPipeline

Source§

impl FromWorld for CasNode

Source§

impl FromWorld for CasPipeline

Source§

impl FromWorld for DepthOfFieldGlobalBindGroupLayout

Source§

impl FromWorld for DepthPyramidDummyTexture

Source§

impl FromWorld for DownsampleDepthNode

Source§

impl FromWorld for FxaaPipeline

Source§

impl FromWorld for MotionBlurPipeline

Source§

impl FromWorld for OitResolvePipeline

Source§

impl FromWorld for OitBuffers

Source§

impl FromWorld for PostProcessingPipeline

Source§

impl FromWorld for SmaaPipelines

Source§

impl FromWorld for TonemappingPipeline

Source§

impl FromWorld for DefaultQueryFilters

Source§

impl FromWorld for WorldId

Source§

impl FromWorld for DeferredLightingLayout

Source§

impl FromWorld for AtmosphereSamplers

Source§

impl FromWorld for EarlyGpuPreprocessNode

Source§

impl FromWorld for EarlyPrepassBuildIndirectParametersNode

Source§

impl FromWorld for EarlyShadowPassNode

Source§

impl FromWorld for FallbackBindlessResources

Source§

impl FromWorld for GlobalClusterableObjectMeta

Source§

impl FromWorld for LateGpuPreprocessNode

Source§

impl FromWorld for LatePrepassBuildIndirectParametersNode

Source§

impl FromWorld for LateShadowPassNode

Source§

impl FromWorld for MainBuildIndirectParametersNode

Source§

impl FromWorld for MeshPipeline

Source§

impl FromWorld for MeshPipelineViewLayouts

Source§

impl FromWorld for PreprocessPipelines

Source§

impl FromWorld for RenderLightmaps

Source§

impl FromWorld for ScreenSpaceReflectionsPipeline

Source§

impl FromWorld for ShadowPassNode

Source§

impl FromWorld for ShadowSamplers

Source§

impl FromWorld for SkinUniforms

Source§

impl FromWorld for Wireframe3dPipeline

Source§

impl FromWorld for GpuPreprocessingSupport

Source§

impl FromWorld for MeshAllocator

Source§

impl FromWorld for FallbackImage

Source§

impl FromWorld for FallbackImageCubemap

Source§

impl FromWorld for FallbackImageZero

Source§

impl FromWorld for ViewUniforms

Source§

impl FromWorld for ScreenshotToScreenPipeline

Source§

impl FromWorld for ChildOf

Source§

impl FromWorld for OrthographicProjection

Source§

impl<D, F> FromWorld for QueryState<D, F>
where D: QueryData, F: QueryFilter,

Source§

impl<M> FromWorld for MaterialBindGroupAllocator<M>
where M: Material,

Source§

impl<M> FromWorld for MaterialPipeline<M>
where M: Material,

Source§

impl<M> FromWorld for PrepassPipeline<M>
where M: Material,

Source§

impl<N> FromWorld for ViewNodeRunner<N>
where N: ViewNode + FromWorld,

Source§

impl<Param> FromWorld for SystemState<Param>
where Param: SystemParam,

Source§

impl<T> FromWorld for T
where T: Default,