Мы уже упоминали о корутинах в предыдущих блогах разработчиков для нашего таймера уничтожения пуль, но мы даже не коснулись вопроса удобства использования сопрограмм! Сопрограммы будут абсолютно ВАЖНЫ для создания нашей системы возрождения, так что давайте начнем их использовать!

Настраиваемые параметры появления врагов

Нам нужно создать основу с учетом масштабируемости, чтобы мы могли применить эту систему ко всем нашим врагам в будущем. Итак, давайте начнем с создания набора сериализованных переменных, которыми мы хотим управлять для наших врагов.

Итак, здесь у нас есть переключатель, если мы хотим создать этот тип врага, контейнер для размещения нашего вражеского префаба, переменная, чтобы установить нашу перезарядку появления для этого врага, и, наконец, мы можем установить, сколько этих врагов мы хотим создать в этом уровень.

Эти переменные дадут нам наши настраиваемые параметры появления, которыми мы можем управлять в инспекторе! Но давайте дадим этим элементам управления какую-то цель!

Первая настройка управления сделана! Наш Spawn Enemy Coroutine будет вызываться только в том случае, если мы включим его в инспекторе!

Вот и все остальное готово! Я создал сопрограмму с циклом While, что означает, что она будет запускать нашу сопрограмму снова и снова, пока ее параметр не станет ложным. В этом случае наши _amountEnemyAHasSpawned и _enemyASpawnAount сравниваются в каждом цикле, который становится ложным, когда количество появившихся врагов достигает количества врагов, которое я установил для появления в инспекторе.

У нас есть время восстановления появления, которое показывает, сколько времени между появлениями мы хотим, и мы, конечно, можем установить его в инспекторе.

А затем я сделал простой оператор switch с чистой целью выбора между двумя точками появления, которые мы создали, а затем затем создал экземпляр нашего врага!

Мы почти закончили работу с этой системой возрождения! Мы расскажем, как мы будем рандомизировать наши точки возрождения, в следующем блоге разработчиков, так что следите за обновлениями!