Волны врагов
Часть раздела Архитектура игр в Unity путешествия по Unity на Coddy. Урок 54 из 64.
Задание
СреднеОтправляй врагов волнами.
- В
WaveSet.csдобавь классWaveс атрибутом[System.Serializable]и публичными полямиEnemy enemy,countиspacing. - Добавь к
WaveSetатрибут[CreateAssetMenu], а такжеpublic List<Wave> wavesиpublic float restBetweenWaves. - В
WaveSpawnerзапусти изStartкорутину, которая бесконечно перебирает волны: увеличиваетWaveна 1, выводит в журналWave 1, создаёт врагаiв точкеspawnPoints[i % spawnPoints.Length]через каждыеspacingсекунд, а затем ждёт.
Нажми «Играть»: сначала появятся громилы, затем рывковые враги. Затем нажми «Проверить».
Попробуйте сами
using UnityEngine;
public class WaveSpawner : MonoBehaviour
{
[SerializeField] private WaveSet waveSet;
[SerializeField] private Transform[] spawnPoints;
public int Wave { get; private set; }
// В одном из следующих уроков здесь будет добавлен код, который отправляет волны на арену.
}
Все уроки раздела Архитектура игр в Unity
1Компоненты, а не иерархии
Небольшие компонентыБазовый скрипт врагаАбстрактные компонентыКомпоненты работают вместеПовторение: модульная турельПовторение: спаренная пушка4Сериализованные данные
Сериализуемые классыСписки в инспектореПеречисления в инспектореПовторение: таблица добычиПовторение: определяем добычу7Машины состояний
Состояния как классыСостояние тревогиМашина состоянийПереходыЛогика враговРыцарь атакуетПовторение: состояния двери10Проект: Арена выживания
ГеройВиды врагов2Интерфейсы в Unity
IDamageableИнтерфейсы и TryGetComponentGetComponentsПовторение: клавиша взаимодействияПовторение: ближайший в пределах досягаемости5ScriptableObjects
Ресурсы данныхХарактеристики оружияОбщие настройкиСохраняем ветерВолны как данныеПовторение: база предметовПовторение: покупка в магазинеПотренируйтесь самостоятельно: Песочница Unity