public void ClickedMemoButton(MemoButton memoButton) { if (_memoButtonsClickingAllowed) { StartCoroutine(ClickedMemoButtonCoroutine(memoButton)); } }
private IEnumerator ResetMemoButtons() { _lastClickedMemoButton = null; _memoButtonsClickingAllowed = true; var memoButtons = GameObject.FindGameObjectsWithTag("MemoButton"); yield return(null); foreach (var memoButton in memoButtons) { Destroy(memoButton); yield return(null); } MemoButtonsPanel.GetComponent <MemoButtons>().ShowMemoButtons(); }
private IEnumerator ClickedMemoButtonCoroutine(MemoButton memoButton) { if (!memoButton.ShowingBack) { yield break; } memoButton.ShowFront(); if (_lastClickedMemoButton == null) { _lastClickedMemoButton = memoButton; yield break; } _memoButtonsClickingAllowed = false; yield return(new WaitForSeconds(1)); if (MemoButton.MemoMatch(memoButton, _lastClickedMemoButton)) { ChangeScore(MatchReward); Destroy(_lastClickedMemoButton.gameObject); Destroy(memoButton.gameObject); _lastClickedMemoButton = null; _memoButtonsClickingAllowed = true; } else { ChangeScore(MissPenalty); if (_lastClickedMemoButton != null) { _lastClickedMemoButton.ShowBack(); } memoButton.ShowBack(); _lastClickedMemoButton = null; _memoButtonsClickingAllowed = true; } }
public static bool MemoMatch(MemoButton lhs, MemoButton rhs) { return(lhs != null && rhs != null && lhs._frontImage == rhs._frontImage && lhs._backImage != rhs._backImage); }