В этой части допишем логику нанесения урона вражеским пушкам. Начнем с того, что добавим пушке бар жизни.
Для удобства и скорости сделаем его при помощи ноды ProgressBar.
Добавляем бар под ноду Area, и сразу к этой ноде подключаем скрипт. Скрипт будет содержать в себе функцию, которая при запуске будет считать количество урона через вычитание из переменной life. И если life меньше 0 , вся наша пушка будет взрываться и исчезать с экрана. Так как Area находится внутри структуры пушки, то для удаления всей конструкции мы обращаемся к get_parent().
Поднявшись еще выше, в главную сцену через get_parent(). get_parent(). мы вызываем функцию bexplosion() которая нарисует большой взрыв на том месте, где была пушка. Вызываться функция life() у нас будет из скрипта снаряда танка.
Для этого пришлось немного исправить логику определения коллизий.
Так как при коллизии мы запускали луп, то иногда, по непонятным для меня причинам этот луп срабатывал дважды.
И соответственно происходило двойное вычитан