// Update is called once per frame
    void Update()
    {
        Ray        ray = cam.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit, Mathf.Infinity))
        {
            if (!particle.gameObject.activeSelf)
            {
                particle.gameObject.SetActive(true);
            }

            particle.transform.position = hit.point + Vector3.up;
            NavMeshHit navhit;

            if (NavMesh.SamplePosition(hit.point, out navhit, 1.0f, NavMesh.AllAreas)) // em si un punt forma part de la navigation mesh
            {
                int mask = 1 << NavMesh.GetAreaFromName("turret");                     //operacio de moure bits ,nom del layer on puc colocar torretes

                if (navhit.mask == mask)
                {
                    particle.GetComponent <Renderer>().material = greenProjector;

                    GameObject anyTurret = hit.collider.gameObject;

                    if (anyTurret.layer == turretLayer || anyTurret.layer == upgradedLayer)
                    {
                        particle.GetComponent <Renderer>().material = redProjector;
                    }

                    if (Input.GetMouseButtonDown(0))
                    {
                        if (EventSystem.current.IsPointerOverGameObject())
                        {
                            return;
                        }

                        GameObject turret = hit.collider.gameObject;

                        if (turret.layer == turretLayer)
                        {
                            FindObjectOfType <AudioManager>().Play("click2");
                            hitPosition = hit.point;
                            //nodeUI.SetTargert(turret);
                            buildManager.SelectTurret(turret, hitPosition);
                        }

                        else if (turret.layer != upgradedLayer)
                        {
                            hitPosition = hit.point;
                            nodeUI.BuildTurret(buildManager.GetTurretToBuild(), hitPosition);
                        }
                    }
                }

                else
                {
                    particle.GetComponent <Renderer>().material = redProjector;
                }
            }
        }
    }