Я пытался создать простого спавнера с некоторой задержкой после появления зомба ie. Я установил лимит для количества зомби ie, но это не работает, потому что было создано 12 зомби вместо 10. Я могу просто исправить это, заменив lenght <= max
на lenght <= max-2
, но Я не знаю, что root проблемы .
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Spawner : MonoBehaviour
{
// Start is called before the first frame update
GameObject zombie;
bool condition;
public int max;
int lenght;
void Start()
{
zombie = Resources.Load("Prefabs/Zombie") as GameObject;
max = 10;
condition = true;
}
// Update is called once per frame
void Update()
{
GameObject[] zombies = GameObject.FindGameObjectsWithTag("Zombie");
lenght = zombies.Length;
Debug.Log(lenght);
if (condition && lenght <= max)
{
StartCoroutine(Spawn());
}
}
private IEnumerator Spawn()
{
condition = false;
while(lenght <= max){
yield return new WaitForSeconds(1);
Instantiate(zombie);
}
condition = true;
}
}