private void TouchBegan(Touch touch) { if (CastRayFromTouch(touch)) { // Check if the touch hit a holdable Holdable holdable = GetHoldable(raycastHits[touch.fingerId].Value); if (holdable) { holdable.OnTouchBegin(raycastHits[touch.fingerId].Value); heldThisFrame[touch.fingerId] = holdable; } CheckSwipe(touch); } }
private void OnMouse() { Vector2 mousePos = Input.mousePosition; if (CastRayFromMousePos(mousePos)) { // Check if the ray hit a holdable Holdable holdable = GetHoldable(raycastHits[0].Value); if (holdable) { heldThisFrame[0] = holdable; if (Input.GetMouseButtonDown(0)) { holdable.OnTouchBegin(raycastHits[0].Value); } foreach (Holdable lastFrameHoldable in heldLastFrame) { if (lastFrameHoldable && !lastFrameHoldable.Equals(holdable)) { lastFrameHoldable.OnTouchReleased(); } } } } else { foreach (Holdable lastFrameHoldable in heldLastFrame) { if (lastFrameHoldable) { lastFrameHoldable.OnTouchReleased(); } } } }