Time for action – Checking for victory

Our matchesMade , matchesNeededToWin , and playerHasWon variables have been standing at the ready this whole time. Let's finally make use of them.

  1. Add these few lines to the FlipCardFaceUp function, where you're detecting a match:
     if(aCardsFlipped[0].id == aCardsFlipped[1].id)
     {
       // Match!
       aCardsFlipped[0].isMatched = true;
       aCardsFlipped[1].isMatched = true;
                
       matchesMade ++;
                
       if(matchesMade >= matchesNeededToWin)
       {
         playerHasWon = true;
       }
    
  2. Add a new function call to the OnGUI function:
    function OnGUI () {
      GUILayout.BeginArea (Rect (0,0,Screen.width,Screen.height)); 
      GUILayout.BeginHorizontal();
      BuildGrid();
      if(playerHasWon) BuildWinPrompt();
      GUILayout.EndHorizontal();
      GUILayout.EndArea();
    }
  3. And, now, we'll ...

Get Unity 3.x Game Development by Example now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.