bevy_gpu_compute 0.1.2

Empowering anyone to leverage GPU-acceleration with as little barrier-to-entry as possible
Documentation
use bevy::{
    ecs::system::SystemParam,
    prelude::{Commands, DespawnRecursiveExt, Entity, Query},
};

use crate::task::lib::BevyGpuComputeTask;

#[derive(SystemParam)]

pub struct BevyGpuComputeTaskDeleter<'w, 's> {
    commands: Commands<'w, 's>,
    tasks: Query<'w, 's, (Entity, &'static mut BevyGpuComputeTask)>,
}

impl BevyGpuComputeTaskDeleter<'_, '_> {
    /// spawns all components needed for the task to run
    pub fn delete(&mut self, name: &str) {
        let (entity, _) = self
            .tasks
            .iter_mut()
            .find(|(_, task)| task.name() == name)
            .expect("Task not found");
        self.commands.entity(entity).despawn_recursive();
    }
}