19 releases (breaking)
0.15.0 | Mar 8, 2023 |
---|---|
0.14.0 | Nov 13, 2022 |
0.13.0 | Nov 11, 2022 |
0.8.0 | Jun 8, 2022 |
0.5.0 | Mar 10, 2022 |
#1699 in Game dev
20KB
100 lines
Bevy Despawn With
This crate implements an extension trait on Commands
, DespawnAllCommandsExt
which has two methods despawn_all
and despawn_all_recursive
for despawning multiple entities:
fn despawn_system(
mut commands: Commands,
) {
commands.despawn_all::<(With<People>, With<Shoes>, Without<Laces>)>();
}
Usage
Add the dependency to your project's Cargo.toml [dependencies]
section:
bevy_despawn_with = "0.15.0"
Then despawn some things:
use bevy_despawn_with::DespawnAllCommandsExt;
fn despawn_system(mut commands: Commands) {
// Despawn all entities with a MenuUiMarker component
commands.despawn_all::<With<MenuUiMarker>>();
// Despawn all entities without a SomeOtherMarker component,
// and despawn those entities descendants.
commands.despawn_all_recursive::<Without<SomeOtherMarker>>();
// Despawn all entities with a MenuUiMarker component, or with a changed GlobalTransform.
commands.despawn_all::<Or<(With<MenUiMarker>, Changed<GlobalTransform>)>>();
}
Examples
cargo run --example despawn_with
cargo run --example despawn_without
Notes
Supports Bevy 0.10
Dependencies
~20–56MB
~1M SLoC