Пример #1
0
    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);
        }
    }
Пример #2
0
    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();
                }
            }
        }
    }