// Update is called once per frame void Update() { OVRInput.Update(); if (holding == null && OVRInput.Get(OVRInput.Button.PrimaryIndexTrigger, controller)) { if (touchingStack != null) { holding = Instantiate(stickyNote, stickyPos); StickyNote newStickyNote = holding.GetComponent <StickyNote>(); newStickyNote.color = touchingStack.color.ToString(); } else if (touchingStickyNote != null) { holding = touchingStickyNote.gameObject; holding.transform.SetParent(stickyPos, true); holding.transform.position = stickyPos.position; StickyNote stickyNote = holding.GetComponent <StickyNote>(); stickyNote.PickUp(); } } if (holding != null && OVRInput.Get(OVRInput.Button.PrimaryIndexTrigger, controller) == false) { StickyNote sticky = holding.GetComponent <StickyNote>(); Vector3 closest = windowCollider.ClosestPoint(holding.transform.position); float dist = Vector3.Distance(closest, holding.transform.position); QuestDebug.Instance.Log($"Dist: {dist}"); if (dist < 0.5f) { sticky.Stick(window, closest); } else { sticky.Drop(); } holding = null; } }