@Zimaell

Как задать последовательность и время появления врагов?

У меня есть 3 префаба (врагов), к каждому прикреплен скрипт "Enemy" с их поведением, в самих префабах настроено количество жизней и их скорость.
spoiler
public class Enemy : MonoBehaviour{
  public float MaxLife;
  public float speed;
  ..........
  }

Есть объект "Spawner" где они создаются и оттуда держат путь, к нему прикреплен одноименный скрипт
spoiler
public class Spawner : MonoBehaviour{
  public GameObject enemy1;
  public GameObject enemy2;
  public GameObject enemy3;
	
  public float spawnTime = 3f;
  public float startSpawnTime = 0f;
  private float timer =0;

  void Update(){
    timer -= Time.deltaTime;
    startSpawnTime += Time.deltaTime;
    if(timer <= 0 ){
      if(startSpawnTime > 0f && startSpawnTime < 9f) Instantiate(enemy1, transform.position, transform.rotation);
        else if(startSpawnTime > 9f && startSpawnTime < 18f) Instantiate(enemy2, transform.position, transform.rotation);
          else if(startSpawnTime > 18f && startSpawnTime < 30f) Instantiate(enemy3, transform.position, transform.rotation);
      timer = spawnTime;
      }
    }
  }

В данном случае они появляются из условий по времени.

Как задать массив последовательности когда и какой противник должен появится?
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
class SpawnCondition
{
    float TimeFromStart;
    bool HasSpawned;
    GameObject Prefab;
}

foreach(cond in spawnConditions)
{
    if (!cond.HasSpawned && cond.TimeFromStart < currentTimeFromStart)
    {
        Instantiate(cond.Prefab);
        cond.HasSpawned = true
    }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы