Example #1
0
    private void HandleMouseInput()
    {
        Vector2 posRelative = new Vector2((float)Input.mousePosition.x / Screen.width, (float)Input.mousePosition.y / Screen.height);
        Vector3 position    = mainCamera.ScreenToWorldPoint(Input.mousePosition);

        // On mouse primary button click
        if (Input.GetMouseButtonDown(0))
        {
            FingerInput finger = new FingerInput(0, position, posRelative, new Vector2(0, 0), 0f);
            surfaceFingers.Add(0, finger);
            OnFingerAdd(new List <FingerInput>(surfaceFingers.Values));
        }
        // On release
        else if (Input.GetMouseButtonUp(0))
        {
            OnFingerRemove(new List <FingerInput>(surfaceFingers.Values));
            surfaceFingers.Remove(0);
        }
        // If holding mouse button down, update position
        else if (surfaceFingers.Count > 0)
        {
            List <FingerInput> updated = new List <FingerInput>();
            FingerInput        finger  = surfaceFingers[0];
            finger.UpdateProps(position, posRelative, new Vector2(0, 0), 0f);
            updated.Add(finger);
            OnFingerUpdate(updated);
        }
    }