public void CardRevealed(MemoryCard2 card) { if (_firstRevealed == null) { if (start_timer) { timer.Start(); start_timer = false; } _firstRevealed = card; } else if (_secondRevealed == null) { _secondRevealed = card; //StartCoroutine(CheckMatch()); } else { _thirdRevealed = card; StartCoroutine(CheckMatch()); } }
private IEnumerator CheckMatch() { // increment score if the cards match if (_firstRevealed.id == _secondRevealed.id && _secondRevealed.id == _thirdRevealed.id) { _score++; if (_score == 4) { timer.Stop(); } yield return(new WaitForSeconds(.001f)); } else // otherwise turn them back over after .2s pause { yield return(new WaitForSeconds(.2f)); _firstRevealed.Unreveal(); _secondRevealed.Unreveal(); _thirdRevealed.Unreveal(); } _firstRevealed = null; _secondRevealed = null; _thirdRevealed = null; }