void DelayStart() { for (int k = 0; k < initializeQnt; k++) { //percorre o vetor de prefabs dos leucocitos que no caso são 2 for (int i = 0; i < 2; i++) { //instancia, seta ele como filho do leucocitoSpawner e já guarda na lista tmpGO = Instantiate(leucocitosPrefab[i], transform.position, Quaternion.identity, transform) as GameObject; tmpLeucocito = tmpGO.GetComponent <LeucocitoProtectorMode>(); tmpLeucocito.HideLeucocito(); //adiciona na lista if (i == 0) { smallLeucocitos.Add(tmpLeucocito); } else { bigLeucocitos.Add(tmpLeucocito); } } } }
void EnableLeucocito(Vector3 position) { //incrementa o contador de leucocitos usados leucocitoInUse++; //toca o som de click AudioManager.instance.PlayOneShotSound(AudioManager.instance.sound_click); //se for neutrófilo if (leucocitoChoosen == 0) //small { //percorre todo o vetor de neutrofilos para buscar algum disponível for (int c = 0; c < smallLeucocitos.Count; c++) { if (smallLeucocitos[c].stop) { //se existe um disponível, ativa ele smallLeucocitos[c].SpawnLeucocito(position); break; } //se já chegou na ultima contagem quer dizer que não existe nenhum disponível if (c == smallLeucocitos.Count - 1) { //então vai ser instanciado um novo tmpGO = Instantiate(leucocitosPrefab[leucocitoChoosen], transform.position, Quaternion.identity, transform) as GameObject; //guarda a referência dele para avisar que está ativado tmpLeucocito = tmpGO.GetComponent <LeucocitoProtectorMode>(); tmpLeucocito.SpawnLeucocito(position); //adiciona na lista smallLeucocitos.Add(tmpLeucocito); break; } } } else //é o macrófago { //percorre todo o vetor de macrófagos para buscar algum disponível for (int c = 0; c < bigLeucocitos.Count; c++) { if (bigLeucocitos[c].stop) { bigLeucocitos[c].SpawnLeucocito(position); break; } //se já chegou na ultima contagem quer dizer que não existe nenhum disponível if (c == bigLeucocitos.Count - 1) { //então vai ser instanciado um novo tmpGO = Instantiate(leucocitosPrefab[leucocitoChoosen], transform.position, Quaternion.identity, transform) as GameObject; //guarda a referência dele para avisar que está ativado tmpLeucocito = tmpGO.GetComponent <LeucocitoProtectorMode>(); tmpLeucocito.SpawnLeucocito(position); //adiciona na lista bigLeucocitos.Add(tmpLeucocito); break; } } } }