void CheckClick()
    {
        if (Input.GetMouseButtonDown(0))
        {
            //Debug.Log("点击鼠标左键");

            int clickBoxMark = 0;

            ray = Camera.main.ScreenPointToRay(Input.mousePosition);

            if (Physics.Raycast(ray, out hit))
            {
                //Debug.Log("hit 3D box");
                //Debug.Log(hit.collider.gameObject.name);
                obj = hit.collider.gameObject;
                //Debug.Log(obj.transform.position);
                clickBoxMark = 1;
            }

            Vector3      mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            RaycastHit2D hit2     = Physics2D.Raycast(mousePos, Vector2.zero);

            if (hit2.collider != null & repeatedJumpMark == 0 & moveEndMark == 1)
            {
                // 点击格子状态
                var grid = hit2.collider.gameObject.GetComponent <GridControl>();

                if (clickBoxMark == 1)
                {
                    // 检测是否这个棋子的回合
                    if (!grid.ContentChess.CompareTeam(teamTurnMark))
                    {
                        return;
                    }

                    // 若两次点击同一个格子
                    if (lastTouchGrid == grid & activeMark == 1)
                    {
                        activeGrid.CancelTouch(saveGrid);
                        activeMark = 0;
                        showText.SetActive(false);
                        return;
                    }
                    lastTouchGrid = grid;

                    // 同时点击到棋子
                    if (activeMark == 0)
                    {
                        // 处于未激活的状态
                        activeMark = 1;
                        activeGrid = grid;
                        saveGrid   = grid.TouchColor();
                    }
                    else
                    {
                        // 已经在有棋子格子 激活状态 点其他的棋子
                        activeGrid.CancelTouch(saveGrid);
                        activeGrid = grid;

                        saveGrid = grid.TouchColor();
                    }
                }
                else
                {
                    // 点击没有棋子的格子
                    if (grid.GetColor() == ColorState.Neighbor)
                    {
                        // 状态为可跳动的格子

                        // 移动棋子
                        bool jumped = MovingChess(grid);

                        // 连跳状态的标记 设置为1
                        repeatedJumpMark = jumped ? 1 : 0;
                        // 只是平移后就锁定
                        moveEndMark = 0;
                    }
                    else
                    {
                        // 点击没棋子 也不是可跳的格子
                        if (activeGrid)
                        {
                            activeGrid.CancelTouch(saveGrid);
                            activeMark = 0;
                        }
                        showText.SetActive(false);
                    }
                }
            }
            else if (hit2.collider == null & clickBoxMark == 0 & repeatedJumpMark == 0)
            {
                // 若没有点击到棋子也没有点到格子
                if (activeGrid)
                {
                    activeGrid.CancelTouch(saveGrid);
                    activeMark = 0;
                }
                showText.SetActive(false);
            }
            else if (hit2.collider != null & repeatedJumpMark == 1)
            {
                // 点到格子 并且进入连续跳状态

                var grid = hit2.collider.gameObject.GetComponent <GridControl>();

                // 点到允许连跳的格子
                if (grid.GetColor() == ColorState.Neighbor)
                {
                    // 移动棋子
                    MovingChess(grid);
                }
            }

            if (hit2.collider != null & clickBoxMark == 1)
            {
                var grid = hit2.collider.gameObject.GetComponent <GridControl>();
                // 显示棋子文本框
                ShowText(grid.ContentChess);
            }
        }
    }