private void TouchUp(bool isTouch = false)
    {
        if (endCharaImage != null)
        {
            var result = CanvasManager.Instance.GetRaycastResult(isTouch);
            if (result.Count > 0)
            {
                foreach (var r in result)
                {
                    if (r.gameObject.CompareTag("raycastGCorner") || r.gameObject.CompareTag("Center") || r.gameObject.CompareTag("raycastG"))
                    {
                        if (spaceCorrect == true)
                        {
                            bool onlyAdd = false;

                            if ((int)r.gameObject.GetComponent <GroundController> ()._groundType == 99)
                            {
                                isResetGround = true;
                            }


                            energe = energe - (spaceCount + 1);
                            SetEnergy();

                            if (energe > (spaceCount + 1) && !isResetGround)
                            {
                                ResetStatus();
                                onlyAdd = true;
                            }

                            spaceCount++;

                            checkButton.interactable = true;

                            canCover = false;

                            if (onlyAdd && !isResetGround)
                            {
                                preJobRatios = jobRatios;
                                CheckGround(true);

                                charaIdx = null;

                                ResetTemple();

                                return;
                            }
                            ResetTemple();
                            RoundEnd(CheckGround(false, true));
                        }
                        else
                        {
                            SetChess();
                            SetChess();
                            if (startCover)
                            {
                                startGc.OnPrevCover();
                                startCover = false;
                            }
                            else
                            {
                                startGc.ResetType();
                            }
                            charaGc.RemoveLast();
                            isResetGround = false;
                            ResetStatus();
                            ResetDamage(spaceCount > 0);
                        }
                    }
                }
            }
        }
    }