Пикап видим после начисления патронов
Проблема
Подбираем пикап
Встаем на точку респауна пикапа
Расходуем весь боекомплект
Пикап респаунится
Начисление патронов происходит, но пикап остается видимым
Что происходит
Эта проблема из-за неправильного порядка вызовов в ASTUBasePickup:
CollisionComponent->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Overlap);
if (GetRootComponent())
{
GetRootComponent()->SetVisibility(true, true);
}Пикап респаунится
Коллизия устанавливается в
ECollisionResponse::ECR_OverlapВызывается
NotifyActorBeginOverlapПодбирается пикап и устанавливается видимость в
falseНо после этого у нас все равно устанавливается видимость в
true(строчка 4)
Решение
Просто меняем порядок вызовов:
if (GetRootComponent())
{
GetRootComponent()->SetVisibility(true, true);
}
CollisionComponent->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Overlap);Last updated
Was this helpful?