std::array<std::size_t, 2> range;
Manager *manager;
EntitiesType *entities;
- BitsetType signature;
+ const BitsetType *signature;
void *userData;
std::unordered_set<std::size_t> dead;
};
fnDataAr[i].range = {begin, end};
fnDataAr[i].manager = this;
fnDataAr[i].entities = &entities;
- fnDataAr[i].signature = signatureBitset;
+ fnDataAr[i].signature = &signatureBitset;
fnDataAr[i].userData = userData;
for(std::size_t j = begin; j < end; ++j) {
if(!isAlive(j)) {
continue;
}
- if(((data->signature)
+ if(((*data->signature)
& std::get<BitsetType>(
data->entities->at(i)))
- == data->signature) {
+ == *data->signature) {
Helper::call(i,
*data->manager,
std::forward<Function>(function),
fnDataAr[i].range = {begin, end};
fnDataAr[i].manager = this;
fnDataAr[i].entities = &entities;
- fnDataAr[i].signature = signatureBitset;
+ fnDataAr[i].signature = &signatureBitset;
fnDataAr[i].userData = userData;
for(std::size_t j = begin; j < end; ++j) {
if(!isAlive(j)) {
++i) {
if(data->dead.find(i) != data->dead.end()) {
continue;
- } else if((data->signature
+ } else if((*data->signature
& std::get<BitsetType>(
data->entities->at(i)))
- == data->signature) {
+ == *data->signature) {
fn(i, data->manager, data->userData);
}
}