void LateUpdate()
    {
        // face camera
        transform.rotation = Quaternion.LookRotation(transform.position - Camera.main.transform.position);

        if (!(controllerHand == OVRInput.Controller.LTouch || controllerHand == OVRInput.Controller.RTouch))
        {
            return;
        }

        Vector3 tipPosition = transform.position;

        switch (brushStatus)
        {
        case BrushState.Idle:
            if (OVRInput.GetUp(OVRInput.Button.One, controllerHand))
            {
                UndoInkLine();
            }
            if (OVRInput.GetDown(OVRInput.Button.PrimaryIndexTrigger, controllerHand))
            {
                StartLine(tipPosition);
                brushStatus = BrushState.Inking;
            }
            break;

        case BrushState.Inking:
            // every frame, draw line
            UpdateLine(tipPosition);
            if (OVRInput.GetUp(OVRInput.Button.PrimaryIndexTrigger, controllerHand))
            {
                brushStatus = BrushState.Idle;
            }
            break;
        }
    }
Esempio n. 2
0
        void GetNearestFlagCorner()
        {
            Vector2 cursor2Dpos = GetCursor2D();

            float dist = 5;
            float lastDistance = 100;
            int cornerIndex = 0;

            foreach (EventFlag flag in parentGame.myLevel.FlagsList)
            {
                cornerIndex = 0;

                foreach (Vector2 corner in flag.Corners)
                {
                    float thisDistance = Vector2.Distance(cursor2Dpos, corner);
                    if (thisDistance <= dist
                        && thisDistance < lastDistance)
                    {
                        lastDistance = thisDistance;
                        activeFlag = flag;
                        activeCornerIndex = cornerIndex;
                        activeCorner = corner;
                        brush = BrushState.FlagSelected;
                    }
                    cornerIndex += 1;
                }
            }
        }
Esempio n. 3
0
 public void SetBrushState(int index)
 {
     state = (BrushState)index;
 }
 private void OnDisable()
 {
     brushStatus = BrushState.Idle;
 }