示例#1
0
    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);
                }
            }
        }
    }
示例#2
0
    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;
                }
            }
        }
    }