private void Update() { if (privateDragging) { Vector3 currentPosition = new Vector3(Input.mousePosition.x - posX, Input.mousePosition.y - posY, 0); Vector3 worldPosition = UnityEngine.Camera.main.ScreenToWorldPoint(currentPosition); //Vector3 floatSnap = new Vector3(5f, 5f , 0); //Snap to int grid // worldPosition = new Vector3(Mathf.Round(worldPosition.x)/100f * 100, Mathf.Round(worldPosition.y)/100f*100); // worldPosition = new Vector3(Mathf.Round(worldPosition.x / floatSnap.x),Mathf.Round(worldPosition.y / floatSnap.y)); //int intSnap; //floatSnap = Mathf.Round(intSnap)/2; transform.position = Snap.snap(worldPosition, .5f); if (Input.GetMouseButtonUp(0)) { privateDragging = false; if (RubbishBin.instance.hovering == true) { //do stuff itemScript = GetComponent <ItemCost>(); itemScript.Refund(); Destroy(gameObject); } } globalDragging = privateDragging; } }