Exemplo n.º 1
0
    private IEnumerator FailedMatch(SetMaterialAndFlip m1, SetMaterialAndFlip m2)
    {
        GetComponent<AudioSource> ().clip = sounds [1];
        GetComponent<AudioSource> ().Play ();
        yield return new WaitForSeconds(2);
        m1.FaceDown ();
        m2.FaceDown ();

        currentCard = null;
        blockInput = false;
    }
Exemplo n.º 2
0
    private IEnumerator MatchFound(SetMaterialAndFlip m1, SetMaterialAndFlip m2)
    {
        GetComponent<AudioSource> ().clip = sounds [2];
        GetComponent<AudioSource> ().Play ();
        yield return new WaitForSeconds(2);

        Destroy (m1.gameObject);
        Destroy (m2.gameObject);
        matchCount++;

        currentCard = null;
        blockInput = false;
    }
Exemplo n.º 3
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0) && !blockInput)
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit = new RaycastHit();
            if(Physics.Raycast (ray,out hit, 200))
            {
                GameObject hitObject = hit.collider.gameObject.transform.parent.gameObject;
                SetMaterialAndFlip m = hitObject.GetComponent<SetMaterialAndFlip>();
                if(m)
                {
                    m.FaceUp();
                    GetComponent<AudioSource> ().clip = sounds [3];
                    GetComponent<AudioSource> ().Play ();
                    if(currentCard == null)
                    {
                        currentCard = m;
                    }

                    else if(currentCard != m)
                    {
                        blockInput = true;
                        if(currentCard.GetMaterialIndex() == m.GetMaterialIndex())
                        {
                            StartCoroutine(MatchFound(currentCard,m));
                        }

                        else
                        {
                            StartCoroutine(FailedMatch(currentCard,m));
                        }
                    }
                }
            }
        }

        if (matchCount == 10)
        {
            GetComponent<AudioSource> ().clip = sounds [0];
            GetComponent<AudioSource> ().Play ();
            StartCoroutine(RestartGame());
        }
    }