Здравствуйте. Помогите пожалуйста со следующей задачкой:
Есть 5 линий (позиций) спавна врагов. И есть 5 врагов. На линии может спавниться от 1 до 4-х врагов (дабы оставить одну свободную линию для игрока).У врагов прописано движение в сторону игрока. Если же линия занята каким-то врагом - другой враг на ней появиться в этот же момент не может. Я реализовал спавн, в котором 5 врагов спавнятся по-одному на разных позициях и не пойму, как же сделать спавн двух, трех и четырех объектов, при этом поставив за условие, что если линия занята - враг не сможет заспавниться в момент спавна другого врага.
Вот мой код:
public GameObject[] enemies; // Массив со врагами
Vector2 whereToSpawn; // Позиция спавна
float[] spawnPoints = { -1f, -0.5f, 0f, 0.5f, 1f }; // Точки спавна
private float timeBtwSpawn; //
public float spawnTime; // Время спавна
void Update()
{
if (timeBtwSpawn <= 0)
{
int rand = Random.Range(0, enemies.Length); //Рандомный выбор врага
float randomPoins = spawnPoints[Random.Range(0, spawnPoints.Length)]; // Рандомный выбор точки спавна
whereToSpawn = new Vector2(transform.position.x, randomPoins); // Рандомная позиция выбранной точки спавна
Instantiate(enemies[rand], whereToSpawn, Quaternion.identity); // Реализация всего вышеперечисленного
timeBtwSpawn = spawnTime;
}
else
{
timeBtwSpawn -= Time.deltaTime;
}
}