Skip to content

Commit 5ebc695

Browse files
committed
pico_ecs: minor optmization to dyanmic ecs_add/ecs_remove
1 parent 79fc93a commit 5ebc695

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

pico_ecs.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -924,7 +924,8 @@ void* ecs_add(ecs_t* ecs, ecs_id_t entity_id, ecs_id_t comp_id, void* args)
924924
}
925925
else // Just remove the entity if its components no longer match for whatever reason.
926926
{
927-
if (ecs_sparse_set_remove(&sys->entity_ids, entity_id))
927+
if (!ecs_bitset_is_zero(&sys->exclude_bits) &&
928+
ecs_sparse_set_remove(&sys->entity_ids, entity_id))
928929
{
929930
if (sys->remove_cb)
930931
sys->remove_cb(ecs, entity_id, sys->udata);
@@ -966,7 +967,8 @@ void ecs_remove(ecs_t* ecs, ecs_id_t entity_id, ecs_id_t comp_id)
966967
}
967968
else
968969
{
969-
if (ecs_sparse_set_add(ecs, &sys->entity_ids, entity_id))
970+
if (!ecs_bitset_is_zero(&sys->exclude_bits) &&
971+
ecs_sparse_set_add(ecs, &sys->entity_ids, entity_id))
970972
{
971973
if (sys->add_cb)
972974
sys->add_cb(ecs, entity_id, sys->udata);

0 commit comments

Comments
 (0)