This commit is contained in:
aozhiwei 2021-08-03 02:15:12 +00:00
parent b566739636
commit 9d388b8813

View File

@ -367,6 +367,7 @@ void Bullet::Check(float distance)
{
int c_hit_num = 0;
int t_hit_num = 0;
int o_hit_num = 0;
std::set<Entity*> objects;
{
std::set<ColliderComponent*> colliders;
@ -374,6 +375,7 @@ void Bullet::Check(float distance)
for (ColliderComponent* collider : colliders) {
if (collider->owner->IsEntityType(ET_Dummy)) {
if (TestCollision(room, collider)) {
++o_hit_num;
objects.insert(collider->owner);
}
} else if (collider->owner->IsEntityType(ET_Obstacle)) {
@ -388,6 +390,7 @@ void Bullet::Check(float distance)
objects.insert(collider->owner);
if (gun_meta->i->is_penetrate_thing()) {
++t_hit_num;
++o_hit_num;
hit_objects_.insert(collider->owner->GetUniId());
}
}
@ -395,7 +398,7 @@ void Bullet::Check(float distance)
}
}
}
if (t_hit_num <= 0) {
if (o_hit_num <= 0) {
room->grid_service->TraverseCreatures
(room->GetRoomIdx(),
GetGridList(),