Struct bevy::app::PluginGroupBuilder
pub struct PluginGroupBuilder { /* private fields */ }
Expand description
Facilitates the creation and configuration of a PluginGroup
.
Provides a build ordering to ensure that Plugin
s which produce/require a Resource
are built before/after dependent/depending Plugin
s. Plugin
s inside the group
can be disabled, enabled or reordered.
Implementations§
§impl PluginGroupBuilder
impl PluginGroupBuilder
pub fn start<PG>() -> PluginGroupBuilderwhere
PG: PluginGroup,
pub fn start<PG>() -> PluginGroupBuilderwhere PG: PluginGroup,
Start a new builder for the PluginGroup
.
pub fn set<T>(self, plugin: T) -> PluginGroupBuilderwhere
T: Plugin,
pub fn set<T>(self, plugin: T) -> PluginGroupBuilderwhere T: Plugin,
pub fn add<T>(self, plugin: T) -> PluginGroupBuilderwhere
T: Plugin,
pub fn add<T>(self, plugin: T) -> PluginGroupBuilderwhere T: Plugin,
Adds the plugin Plugin
at the end of this PluginGroupBuilder
. If the plugin was
already in the group, it is removed from its previous place.
pub fn add_before<Target, T>(self, plugin: T) -> PluginGroupBuilderwhere
Target: Plugin,
T: Plugin,
pub fn add_before<Target, T>(self, plugin: T) -> PluginGroupBuilderwhere Target: Plugin, T: Plugin,
Adds a Plugin
in this PluginGroupBuilder
before the plugin of type Target
.
If the plugin was already the group, it is removed from its previous place. There must
be a plugin of type Target
in the group or it will panic.
pub fn add_after<Target, T>(self, plugin: T) -> PluginGroupBuilderwhere
Target: Plugin,
T: Plugin,
pub fn add_after<Target, T>(self, plugin: T) -> PluginGroupBuilderwhere Target: Plugin, T: Plugin,
Adds a Plugin
in this PluginGroupBuilder
after the plugin of type Target
.
If the plugin was already the group, it is removed from its previous place. There must
be a plugin of type Target
in the group or it will panic.
pub fn enable<T>(self) -> PluginGroupBuilderwhere
T: Plugin,
pub fn enable<T>(self) -> PluginGroupBuilderwhere T: Plugin,
Enables a Plugin
.
Plugin
s within a PluginGroup
are enabled by default. This function is used to
opt back in to a Plugin
after disabling it. If there are no plugins
of type T
in this group, it will panic.
pub fn disable<T>(self) -> PluginGroupBuilderwhere
T: Plugin,
pub fn disable<T>(self) -> PluginGroupBuilderwhere T: Plugin,
Disables a Plugin
, preventing it from being added to the App
with the rest of the
PluginGroup
. The disabled Plugin
keeps its place in the PluginGroup
, so it can
still be used for ordering with add_before
or
add_after
, or it can be re-enabled. If there are no
plugins of type T
in this group, it will panic.
Trait Implementations§
§impl PluginGroup for PluginGroupBuilder
impl PluginGroup for PluginGroupBuilder
§fn build(self) -> PluginGroupBuilder
fn build(self) -> PluginGroupBuilder
Plugin
s that are to be added.§fn name() -> String
fn name() -> String
PluginGroup
which is primarily used for debugging.§fn set<T>(self, plugin: T) -> PluginGroupBuilderwhere
T: Plugin,
fn set<T>(self, plugin: T) -> PluginGroupBuilderwhere T: Plugin,
Plugin
, if it existsAuto Trait Implementations§
impl !RefUnwindSafe for PluginGroupBuilder
impl Send for PluginGroupBuilder
impl Sync for PluginGroupBuilder
impl Unpin for PluginGroupBuilder
impl !UnwindSafe for PluginGroupBuilder
Blanket Implementations§
§impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere U: ShaderType, &'a T: for<'a> Into<U>,
§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.