#bevy #ecs #gamedev #despawn

bevy_despawn_with

用于销毁多个实体的命令扩展trait

19个版本 (破坏性)

0.15.0 2023年3月8日
0.14.0 2022年11月13日
0.13.0 2022年11月11日
0.8.0 2022年6月8日
0.5.0 2022年3月10日

游戏开发中排名1699

MIT/Apache

20KB
100

Bevy Despawn With

crates.io MIT/Apache 2.0 crates.io

此crate实现了对Commands的扩展trait,即DespawnAllCommandsExt,该trait包含两个方法despawn_alldespawn_all_recursive,用于销毁多个实体

fn despawn_system(
    mut commands: Commands,
) {
    commands.despawn_all::<(With<People>, With<Shoes>, Without<Laces>)>();
}

用法

将依赖项添加到项目的Cargo.toml文件中的[dependencies]部分

bevy_despawn_with = "0.15.0"

然后销毁一些东西

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>)>>();
}

示例

cargo run --example despawn_with
cargo run --example despawn_without

注释

支持Bevy 0.10

依赖

~20–56MB
~1M SLoC