Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ickshonpe/bevy_despawn_with

Bevy Commands extension trait for despawning multiple marked entities at once.
https://github.com/ickshonpe/bevy_despawn_with

bevy rust

Last synced: about 2 months ago
JSON representation

Bevy Commands extension trait for despawning multiple marked entities at once.

Awesome Lists containing this project

README

        

# Bevy Despawn With

[![crates.io](https://img.shields.io/crates/v/bevy_despawn_with)](https://crates.io/crates/bevy_despawn_with)
[![MIT/Apache 2.0](https://img.shields.io/badge/license-MIT%2FApache-blue.svg)](https://github.com/ickshonpe/bevy_despawn_with)
[![crates.io](https://img.shields.io/crates/d/bevy_despawn_with)](https://crates.io/crates/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:

```rust
fn despawn_system(
mut commands: Commands,
) {
commands.despawn_all::<(With, With, Without)>();
}
```

## Usage

Add the dependency to your project's Cargo.toml `[dependencies]` section:

```toml
bevy_despawn_with = "0.15.0"
```

Then despawn some things:

```rust
use bevy_despawn_with::DespawnAllCommandsExt;

fn despawn_system(mut commands: Commands) {
// Despawn all entities with a MenuUiMarker component
commands.despawn_all::>();

// Despawn all entities without a SomeOtherMarker component,
// and despawn those entities descendants.
commands.despawn_all_recursive::>();

// Despawn all entities with a MenuUiMarker component, or with a changed GlobalTransform.
commands.despawn_all::, Changed)>>();
}
```

## Examples

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

## Notes

Supports Bevy 0.10