private void OnPress(bool bPressed)
    {
        if (isMoving || !GameManager.IsPlaying() || !TileSystem.CanClickTile())
        {
            if (clickedTile == null)
            {
                return;
            }
            else
            {
                bPressed = false;
            }
        }

        isPressing = bPressed;

        if (bPressed)
        {
            clickedTile = this;

            clickedPos  = new Vector3(UICamera.lastTouchPosition.x, UICamera.lastTouchPosition.y, 0f);
            clickedPos *= ScreenSizeGetter.width / (float)Screen.width;
            clickedPos -= new Vector3(ScreenSizeGetter.halfWidth, ScreenSizeGetter.halfHeight);
            clickedPos -= mTrans.localPosition;

            //Vector3 fingerDistance = Vector3.zero;
            //switch (DataManager.GetInstance().touchOption)
            //{
            //    case 0:
            //        fingerDistance.y = 100f;
            //        break;
            //    case 1:
            //        fingerDistance.y = 300f;
            //        break;
            //    default:
            //    case 2:
            //        fingerDistance.y = 500f;
            //        break;
            //}

            //clickedPos += fingerDistance;
            clickedPos += Define.fingerDistance;

            body.localPosition += clickedPos;

            bGetBigger  = true;
            bGetSmaller = false;
        }
        else
        {
            clickedTile = null;
            if (putPuzzleCallback != null)
            {
                putPuzzleCallback(this);
            }
        }
    }
    private IEnumerator CheckTime()
    {
        while (bCheckingTime)
        {
            yield return(null);

            //일시정지 중, 또는 타일이 터지거나 스킬 사용 중에는 시간이 흐르지 않는다. //
            if (TileSystem.CanClickTile() && !bPause && freezingTime == 0f)
            {
                remainTime -= Time.deltaTime;

                if (remainTime <= 0f)
                {
                    remainTime    = 0f;
                    bCheckingTime = false;
                    GameManager.GameOver(true);
                }

                if (gameTimeUpdateCallback != null)
                {
                    gameTimeUpdateCallback(remainTime);
                }
            }

            if (bCheckingTime)
            {
                if (remainTime <= Define.warningTime && !warningMode)
                {
                    warningMode = true;
                    scoreAssistance.SetWarningBonus();
                    SoundManager.GetInstance().FadeInAndPlayBGM(Define.SoundType.TickTock);
                    SoundManager.GetInstance().FadeInAndPlayBGM(Define.SoundType.TickTockBack);
                    SoundManager.GetInstance().FadeOutAndStopBGM(Define.SoundType.GameBGM);

                    if (warningUICallback != null)
                    {
                        warningUICallback(warningMode);
                    }
                }
            }
        }
    }
    private void OnDrag(Vector2 delta)
    {
        if (isMoving || !GameManager.IsPlaying() || !TileSystem.CanClickTile())
        {
            if (clickedTile == null)
            {
                return;
            }
            else if (clickedTile != this)
            {
                return;
            }
        }

        if (clickedTile != this)
        {
            return;
        }

        mTrans.localPosition += new Vector3(delta.x * ScreenSizeGetter.invRate, delta.y * ScreenSizeGetter.invRate, 0f);
    }