예제 #1
0
    // Update is called once per frame
    void Update()
    {
        if (currentPlaceableObject == null)
        {
            return;
        }

        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        var hasCollision = Physics.Raycast(ray, out raycastHit, RAY_MAX_LENGTH, TERRAIN_LAYER_MASK);

        if (hasCollision)
        {
            var gridPosition = grid.SnapPositionToGrid(raycastHit.point);
            currentPlaceableObject.SetPosition(gridPosition);
        }

        if (Input.GetMouseButtonUp(0))
        {
            PlaceCurrentObject();
        }
    }