Beispiel #1
0
    private IEnumerator ComprobarPareja()
    {
        if (_primeraRevelada.id == _segundaRevelada.id)
        {
            cartasSolucionadas++;

            _puntuacion++;
            subir.subirMonedas(_puntuacion);
            subir.subirExperiencia(0.05f);
            subirAtributo.subirDiversion(10);
            ParticleSystem carta1 = _primeraRevelada.gameObject.transform.Find("Particle System").gameObject.GetComponent <ParticleSystem>();
            ParticleSystem carta2 = _segundaRevelada.gameObject.transform.Find("Particle System").gameObject.GetComponent <ParticleSystem>();
            carta1.Play();
            carta2.Play();
            AudioSource audio = _primeraRevelada.gameObject.GetComponent <AudioSource>();
            audio.Play();

            if (cartasSolucionadas == 10)
            {
                Debug.Log("Terminado");
                panelMensaje.SetActive(true);
            }
        }

        else
        {
            yield return(new WaitForSeconds(0.5f));

            _primeraRevelada.Revelar();
            _segundaRevelada.Revelar();
        }

        _primeraRevelada = null;
        _segundaRevelada = null;
    }
Beispiel #2
0
 public void CartaRevelada(CartaPrincipal carta)
 {
     if (_primeraRevelada == null)
     {
         _primeraRevelada = carta;
     }
     else
     {
         _segundaRevelada = carta;
         StartCoroutine(ComprobarPareja());
     }
 }
Beispiel #3
0
    public void RellenarPanelCartas()
    {
        originalCard = panelCartas.transform.GetChild(0).gameObject.GetComponent <CartaPrincipal>();

        cartasSolucionadas = 0;
        Vector3 startPos = originalCard.transform.position; //The position of the first card. All other cards are offset from here.

        CartaPrincipal cartaCopia = Instantiate(originalCard, panelCartas.transform) as CartaPrincipal;

        cartaCopia.name = "CARTA_ORIGINAL";
        cartaCopia.gameObject.SetActive(false);

        int[] numbers = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9 };
        numbers = ShuffleArray(numbers);

        for (int i = 0; i < gridCols; i++)
        {
            for (int j = 0; j < gridRows; j++)
            {
                CartaPrincipal card;
                if (i == 0 && j == 0)
                {
                    card = originalCard;
                }
                else
                {
                    card = Instantiate(originalCard, panelCartas.transform) as CartaPrincipal;
                }

                int index = j * gridCols + i;
                int id    = numbers[index];
                card.CambiarSprite(id, images[id]);

                float posX = (offsetX * i) + startPos.x;
                float posY = (offsetY * j) + startPos.y;
                card.transform.position = new Vector3(posX, posY, startPos.z);
            }
        }
    }