예제 #1
0
 // Verifica se a jogada converteu ponto
 public void checkForPoint(CardScript card)
 {
     Debug.Log("Checking table for a point.");
     if (card.numberId == wildcardId)
     {
         // caso o curinga seja selecionado em teste, recebe-se aviso
         Debug.Log("You selected a forbidden card! Will lose point!");
     }
     if (lastCardChoosed == null)
     {
         // nenhuma carta selecionada anteriormente
         // salva a carta para futura checagem
         lastCardChoosed = card;
     }
     else
     {
         // já há uma carta anteriomente selecionada
         // checa a validade da escolha
         if (lastCardChoosed.numberId == card.numberId)
         {
             // cartas compõem o par
             Debug.Log("Correct pair. Point!");
             pairs += 1;                              // o par é registrado
             CardScript.resetValidFlippedCardCount(); // ZERA lista de cartas viradas válidas
             // gera efeito de match em ambas as cartas assinalando PAR completo
             lastCardChoosed.setTriggerMatch();
             card.setTriggerMatch();
             GameManager.Instance.Sound.playMatch();
             lastCardChoosed = null; // desassocia última escolha
         }
         else
         {
             // cartas não formam o par
             Debug.Log("Incorrect pair. Lost one point!");
             lives -= 1; // perde-se um ponto
             if (hud != null && hud.isActiveAndEnabled)
             {
                 // se o HUD estiver presente
                 hud.updateLives(lives);
             }
             GameManager.Instance.Sound.playWrong();
             if (lives < 1)
             {
                 // GAME OVER
                 // jogador ficou sem vida
                 StartCoroutine("GameEnd");
                 GameManager.Instance.Sound.playLose();
                 return;
             }
             // cartas são ocultadas novamente após intervalo
             lockClick();
             StartCoroutine(HideCardsAndUnlockDelay(2f, card, lastCardChoosed));
         }
         updateScore();
     }
 }