Блокировка стрельбы при беге
Возможность стрельбы при беге смотрится нереалистично из-за нашей анимации бега, поэтому стрельбу лучше отключать при беге.
Рекомендую сначала попробовать реализовать данную логику самостоятельно, как домашнее задание.
Улучшение можно сделать после Лекции 065 или в самом конце прохождения курса.
Решение
Добавляем новый флаг в базовый класс оружия
FireInProgress
void ASTUBaseWeapon::StartFire()
{
FireInProgress = true;
}
void ASTUBaseWeapon::StopFire()
{
FireInProgress = false;
}
bool ASTUBaseWeapon::IsFiring() const
{
return FireInProgress;
}В компонент оружия также добавляем функцию:
В классе персонажа создаем функцию
OnStartFireи биндимся на нее при стрельбе, а не напрямую, как раньше, в компонент оружия:
После этого добавляем код для функции
OnStartFireи обновляем две другие функции:
Дополнительные детали с вызовом родительских функций
StartFireиStopFireможно посмотреть в репозитории
Last updated
Was this helpful?