Beispiel #1
0
    // 마우스 위치 , 클릭 확인
    public void RayCastCheck()
    {
        if (!Camera.main)
        {
            return;
        }
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        if (!drowSelect && !graveSelect)
        {
            if (Physics.Raycast(ray, out hit, Mathf.Infinity, LayerMask.GetMask("PlayerCard")))
            {
                PlayerHandCheck(hit.collider.gameObject);
            }
            else
            {
                if (selectViewHand != null)
                {
                    SelectViewHandReset();
                }
            }
            if (Physics.Raycast(ray, out hit, Mathf.Infinity, LayerMask.GetMask("PlayerHand")))
            {
                HandCheck(hit.point);
            }
            if (Physics.Raycast(ray, out hit, Mathf.Infinity, LayerMask.GetMask("Board")))
            {
                PieceCheck(hit.point);
                if (selectHand != null)
                {
                    deployRange.DeployRangeView();
                    SelectHandCheck(hit.point);
                }
            }
            else
            {
                deployRange.DeployRangeNoneView();
                board.NoneViewSelectBoard();
                viewPieceData.NoneView();
            }
            if (Physics.Raycast(ray, out hit, Mathf.Infinity, LayerMask.GetMask("Turn")))
            {
                if (Input.GetMouseButtonDown(0) && !drowSelect && playerTurn)
                {
                    NetTurnChange();
                }
                turn.TimeView();
            }

            else
            {
                turn.TimeNoneView();
            }
            if (Physics.Raycast(ray, out hit, Mathf.Infinity, LayerMask.GetMask("Graveyard")))
            {
                GraveyardClick();
            }
            else
            {
                Graveyard.Instance.GraveNoneMouseView();
            }
        }
        if (Graveyard.Instance.graveViewB)
        {
            if (Physics.Raycast(ray, out hit, 10.0f, LayerMask.GetMask("GraveCard")))
            {
                if (Physics.Raycast(ray, out RaycastHit hit2, 10.0f, LayerMask.GetMask("GraveCardView")))
                {
                    if (Input.GetMouseButtonDown(0))
                    {
                        Graveyard.Instance.SelectGrave(hit);
                    }
                    else
                    {
                        Graveyard.Instance.ViewGraveCard(hit);
                    }
                }
                else
                {
                    Graveyard.Instance.GraveCardReset();
                }
            }
            else
            {
                Graveyard.Instance.GraveCardReset();
            }
        }