Spawning a bomb inside a player dont block him anymore

This commit is contained in:
Zoe Roux
2021-06-17 12:37:40 +02:00
parent 9e1ebedf02
commit 4f782e9d75
5 changed files with 32 additions and 25 deletions
+6 -5
View File
@@ -14,15 +14,16 @@ namespace BBM
void BombSystem::onUpdate(WAL::ViewEntity<BasicBombComponent, PositionComponent> &entity, std::chrono::nanoseconds dtime)
{
auto &bomb = entity.get<BasicBombComponent>();
if (!bomb.ignoreOwner)
if (bomb.ignoredEntities.empty())
return;
auto &pos = entity.get<PositionComponent>();
for (auto &[owner, ownerPos, _] : this->_wal.getScene()->view<PositionComponent, BombHolderComponent>()) {
if (owner.getUid() != bomb.ownerID)
continue;
if (pos.position.distance(ownerPos.position) >= 1.1) {
bomb.ignoreOwner = false;
return;
bomb.ignoredEntities.erase(
std::remove(bomb.ignoredEntities.begin(), bomb.ignoredEntities.end(), owner.getUid()),
bomb.ignoredEntities.end());
}
}
}