/// <summary> Handles the processes of selecting a card. </summary> /// <param name="card"> The card to be selected. </param> private void CardSelected(GameObject card) { if (selectedCard != null) { if (selectedCard.gameObject.Equals(card)) { card.GetComponent <MemoryGameCardBehavior>().DeselectCard(); selectedCard = null; return; } else if (selectedCard.Matches(card.GetComponent <MemoryGameCardBehavior>())) { card.GetComponent <MemoryGameCardBehavior>().FlipCard(); selectedCard.FlipCard(); selectedCard = null; } } else { selectedCard = card.GetComponent <MemoryGameCardBehavior>(); card.GetComponent <MemoryGameCardBehavior>().SelectCard(); } }