예제 #1
0
    /**
     * @brief 레이케스트 레이저 생성 및 hit 리턴
     * @param isTarget 레이케스트 타겟을 변경할때 사용. targetTile 값을 받아올때 true 해주면 됨
     */
    public void mouseRaycast(bool isTarget = false)
    {
        Vector2 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        Ray2D ray = new Ray2D(pos, Vector2.zero);

        hit = Physics2D.Raycast(ray.origin, ray.direction);

        if (hit.collider != null)
        {
            if (isTarget)
            {
                targetTile = hit.collider.gameObject.GetComponent <Tile>();
            }
            else
            {
                selectedTile = hit.collider.gameObject.GetComponent <Tile>();
                _hextile.FindDistancesTo(selectedTile);
                _range.SelectTileSetting(false);
                if (myTurn)
                {
                    NetworkMng.getInstance.SendMsg(string.Format("SELECTING:{0}:{1}", selectedTile.PosX, selectedTile.PosZ));
                }
                Debug.Log("타일 선택");
            }
        }
    }
예제 #2
0
    /**
     * @brief 레이케스트 레이저 생성 및 hit 리턴
     * @param isTarget 레이케스트 타겟을 변경할때 사용. targetTile 값을 받아올때 true 해주면 됨
     */
    public void mouseRaycast(bool isTarget = false)
    {
        Vector2 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        Ray2D ray = new Ray2D(pos, Vector2.zero);

        hit = Physics2D.Raycast(ray.origin, ray.direction);

        if (hit.collider != null)
        {
            if (isTarget)
            {
                targetTile = hit.collider.gameObject.GetComponent <Tile>();
            }
            else
            {
                selectedTile = hit.collider.gameObject.GetComponent <Tile>();
                _range.SelectTileSetting(false);
            }
        }
    }