Skip to content

Commit c312e97

Browse files
committed
refactored towards original design upon realizing Entities is SystemParam
1 parent 2928c94 commit c312e97

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

src/render/mod.rs

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use bevy::{
1212
Render, RenderApp, RenderSet,
1313
},
1414
};
15+
use bevy::ecs::entity::Entities;
1516

1617
#[cfg(not(feature = "atlas"))]
1718
use bevy::render::renderer::RenderDevice;
@@ -116,7 +117,7 @@ impl Plugin for TilemapRenderingPlugin {
116117
app.add_systems(Update, set_texture_to_copy_src);
117118

118119
app.add_systems(First, clear_removed);
119-
app.add_systems(PostUpdate, removal_helper);
120+
app.add_systems(PostUpdate, (removal_helper, removal_helper_tilemap));
120121

121122
app.add_plugins(MaterialTilemapPlugin::<StandardTilemapMaterial>::default());
122123

@@ -306,18 +307,22 @@ pub struct RemovedTileEntity(pub Entity);
306307
#[derive(Component)]
307308
pub struct RemovedMapEntity(pub Entity);
308309

309-
fn removal_helper(mut commands: Commands, mut set: ParamSet<(&World, RemovedComponents<TilePos>, RemovedComponents<TileStorage>)>) {
310-
let tiles: Vec<Entity> = set.p1().read().collect();
311-
let maps: Vec<Entity> = set.p2().read().collect();
312-
313-
let world = set.p0();
314-
let entities = world.entities();
315-
316-
for entity in tiles.into_iter().filter(|entity| entities.contains(*entity)) {
310+
fn removal_helper(
311+
mut commands: Commands,
312+
entities: &Entities,
313+
mut removed_query: RemovedComponents<TilePos>,
314+
) {
315+
for entity in removed_query.read().filter(|entity| entities.contains(*entity)) {
317316
commands.spawn(RemovedTileEntity(entity));
318317
}
318+
}
319319

320-
for entity in maps.into_iter().filter(|entity| entities.contains(*entity)) {
320+
fn removal_helper_tilemap(
321+
mut commands: Commands,
322+
entities: &Entities,
323+
mut removed_query: RemovedComponents<TileStorage>,
324+
) {
325+
for entity in removed_query.read().filter(|entity| entities.contains(*entity)) {
321326
commands.spawn(RemovedMapEntity(entity));
322327
}
323328
}

0 commit comments

Comments
 (0)