public void Click(MatchingTile tile) { if (paused) { return; } if (tile == null) { return; } if (currentSelection == null) { currentSelection = tile; } else { currentSelection2 = tile; paused = true; if (currentSelection.tile == currentSelection2.tile) { StartCoroutine(SucessCoroutine()); } else { StartCoroutine(RetryCoroutine()); } } tile.FlipUp(); }
private IEnumerator SucessCoroutine() { yield return(new WaitForSeconds(resetDelay)); if (currentSelection != null) { currentSelection.FlipUp(); } if (currentSelection2 != null) { currentSelection2.FlipUp(); } correctTiles.Add(currentSelection); correctTiles.Add(currentSelection2); if (correctTiles.Count >= matchingTiles.Count) { puzzleSuccessEvent.Invoke(); StopGame(); } currentSelection = null; currentSelection2 = null; paused = false; }