// call para spawnar uma nova particula public void SpawnNewOrb() { Debug.Log("New orb spawning"); // instancia uma orb numa area e posiçao aleatoria dentro dessa area OrbBehaviour new_orb_ = Instantiate(orb_to_spawn_, spawn_Areas_[Random.Range(0, spawn_Areas_.Length)].GetRandomPosInside(), Quaternion.identity).GetComponent <OrbBehaviour>(); // regista o spawner na nova orb new_orb_.RegistSpawnManager(this); }
// coroutina para instanciaçao das orbs private IEnumerator StartSpawningOrbs() { // instancia o numero de orbs determinado for (int i = 0; i < total_inicial_spawn_count_; i++) { // instancia uma orb numa area e posiçao aleatoria dentro dessa area OrbBehaviour new_orb_ = Instantiate(orb_to_spawn_, spawn_Areas_[Random.Range(0, spawn_Areas_.Length)].GetRandomPosInside(), Quaternion.identity).GetComponent <OrbBehaviour>(); // regista o spawner na nova orb new_orb_.RegistSpawnManager(this); // aguarda o proximo frame yield return(null); } }