void UpdateDotPos() { // column, row가 바뀔 때마다 목표 좌표 수정 targetX = mBoard.tiles[column][row].x; targetY = mBoard.tiles[column][row].y; // 목표 좌표와 현재 위치가 같지 않으면 이동 if (Mathf.Abs(targetX - transform.position.x) > 0.1f) { mTmpPos = new Vector2(targetX, transform.position.y); transform.position = Vector2.Lerp(transform.position, mTmpPos, 0.5f); if (mBoard.dots[column][row] != this.gameObject) { mBoard.dots[column][row] = this.gameObject; } // 이동 후 매치 된 것들 찾기 findMatches.FindAllMatches(); } // 아니면 가만히 else { mTmpPos = new Vector2(targetX, transform.position.y); transform.position = mTmpPos; } if (Mathf.Abs(targetY - transform.position.y) > 0.1f) { mTmpPos = new Vector2(transform.position.x, targetY); transform.position = Vector2.Lerp(transform.position, mTmpPos, 0.5f); if (mBoard.dots[column][row] != this.gameObject) { mBoard.dots[column][row] = this.gameObject; } findMatches.FindAllMatches(); } else { mTmpPos = new Vector2(transform.position.x, targetY); transform.position = mTmpPos; } }
// 목표 화면 띄우기 IEnumerator DisplayGoalPage() { // 화면을 띄우고, 정지상태로 goalPage.active = true; currentState = GameState.wait; // 3초후 yield return(new WaitForSeconds(3.0f)); // 화면을 내리고, 움직이는 상태로 goalPage.active = false; currentState = GameState.move; // 매치된 것이 있다면 없애기, 블럭생성시의 중복 문제 해결하면 없애기 mFindMatches.FindAllMatches(); DestroyMatches(); }