pub trait PluginGroup: Sized {
// Required method
fn build(self) -> PluginGroupBuilder;
// Provided methods
fn name() -> String { ... }
fn set<T>(self, plugin: T) -> PluginGroupBuilder
where T: Plugin { ... }
}Expand description
Combines multiple Plugins into a single unit.
If you want an easier, but slightly more restrictive, method of implementing this trait, you
may be interested in the plugin_group! macro.
Required Methods§
Sourcefn build(self) -> PluginGroupBuilder
fn build(self) -> PluginGroupBuilder
Configures the Plugins that are to be added.
Provided Methods§
Sourcefn name() -> String
fn name() -> String
Configures a name for the PluginGroup which is primarily used for debugging.
Sourcefn set<T>(self, plugin: T) -> PluginGroupBuilderwhere
T: Plugin,
fn set<T>(self, plugin: T) -> PluginGroupBuilderwhere
T: Plugin,
Sets the value of the given Plugin, if it exists
Examples found in repository?
More examples
Additional examples can be found in:
- examples/app/log_layers.rs
- examples/2d/pixel_grid_snap.rs
- examples/2d/tilemap_chunk.rs
- examples/shader_advanced/texture_binding_array.rs
- examples/window/monitor_info.rs
- examples/audio/decodable.rs
- examples/app/no_renderer.rs
- examples/ui/layout/anchor_layout.rs
- examples/audio/spatial_audio_2d.rs
- examples/ui/layout/flex_layout.rs
- examples/asset/asset_settings.rs
- examples/ui/layout/grid.rs
- examples/2d/texture_atlas.rs
- examples/3d/fog_volumes.rs
- examples/3d/scrolling_fog.rs
- examples/ui/images/ui_texture_atlas.rs
- examples/app/return_after_run.rs
- examples/window/window_drag_move.rs
- examples/3d/rect_light.rs
- examples/ui/text/text_debug.rs
- examples/window/scale_factor_override.rs
- examples/app/log_layers_ecs.rs
- tests/window/minimizing.rs
- examples/app/logs.rs
- examples/stress_tests/many_cameras_lights.rs
- examples/3d/depth_of_field.rs
- examples/asset/asset_saving.rs
- examples/3d/anisotropy.rs
- examples/3d/3d_shapes.rs
- examples/shader/shader_prepass.rs
- examples/app/settings.rs
- examples/2d/sprite_animation.rs
- examples/window/persisting_window_settings.rs
- examples/stress_tests/text_pipeline.rs
- examples/gizmos/2d_text_gizmos.rs
- examples/animation/animation_masks.rs
- examples/window/multi_window_text.rs
- examples/3d/specular_tint.rs
- examples/ui/window_fallthrough.rs
- tests/window/resizing.rs
- examples/shader/compute_shader_game_of_life.rs
- examples/ui/text/text_wrap_debug.rs
- examples/stress_tests/many_lights.rs
- examples/gltf/custom_gltf_vertex_attribute.rs
- examples/3d/pccm.rs
- examples/3d/visibility_range.rs
- examples/stress_tests/many_gizmos.rs
- examples/animation/animation_graph.rs
- examples/asset/asset_saving_with_subassets.rs
- examples/window/transparent_window.rs
- examples/stress_tests/many_glyphs.rs
- examples/stress_tests/many_animated_sprite_meshes.rs
- examples/stress_tests/many_animated_sprites.rs
- examples/3d/contact_shadows.rs
- examples/gltf/gltf_extension_mesh_2d.rs
- examples/stress_tests/many_materials.rs
- examples/stress_tests/many_sprite_meshes.rs
- examples/stress_tests/many_sprites.rs
- examples/stress_tests/many_text2d.rs
- examples/3d/ssr.rs
- examples/picking/debug_picking.rs
- examples/usage/debug_frustum_culling.rs
- tests/3d/test_skinned_mesh_bounds.rs
- examples/3d/occlusion_culling.rs
- examples/stress_tests/many_cubes.rs
- examples/stress_tests/many_gradients.rs
- examples/3d/pcss.rs
- examples/3d/mixed_lighting.rs
- examples/app/headless.rs
- examples/3d/clustered_decals.rs
- examples/3d/clustered_decal_maps.rs
- examples/window/low_power.rs
- examples/stress_tests/many_text.rs
- examples/3d/mirror.rs
- examples/stress_tests/many_morph_targets.rs
- examples/showcase/desk_toy.rs
- examples/3d/tonemapping.rs
- examples/stress_tests/transform_hierarchy.rs
- examples/2d/wireframe_2d.rs
- examples/3d/wireframe.rs
- examples/stress_tests/many_foxes.rs
- examples/app/externally_driven_headless_renderer.rs
- examples/asset/processing/asset_processing.rs
- examples/stress_tests/bevymark_3d.rs
- examples/3d/light_textures.rs
- examples/stress_tests/bevymark.rs
- examples/app/headless_renderer.rs
- examples/3d/light_probe_blending.rs
- examples/2d/dynamic_mip_generation.rs
- examples/window/window_settings.rs
- examples/stress_tests/many_buttons.rs
- examples/3d/irradiance_volumes.rs
- examples/testbed/ui.rs
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".