Not Monitored
Tag not monitored by Microsoft.
25,548 questions
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
public class MonsterSpawner : MonoBehaviour
{
[SerializeField]
private GameObject[] monsterReference;
private GameObject spawnedMonster;
[SerializeField]
private Transform leftPos, rightPos;
[SerializeField]
private int randomIndex;
private int randomSide;
// Start is called before the first frame update
void Start()
{
StartCoroutine(SpawnMonsters());
}
IEnumerator SpawnMonsters()
{
while (true)
{
yield return new WaitForSeconds(Random.Range(1, 5));
randomIndex = Random.Range(-1, 0, monsterReference.Length - 1);
randomSide = Random.Range(0, 2);
spawnedMonster = Instantiate(monsterReference[randomIndex]);
// left side
if (randomSide == 0)
{
spawnedMonster.transform.position = leftPos.position;
spawnedMonster.GetComponent<Monster>().speed = Random.Range(4, 10);
}
else
{
// right side
spawnedMonster.transform.position = rightPos.position;
spawnedMonster.GetComponent<Monster>().speed = -Random.Range(4, 10);
spawnedMonster.transform.localScale = new Vector3(-1f, 1f, 1f);
} // while loop
}