Example #1
0
 protected void _OnMVRTouchMoved(VRTouch iTouch)
 {
     if (TouchEvents == VRTouch.ETouchParameter.ReceiveTouchEvents)
     {
         //MiddleVRTools.Log(2, "Touch end: " + iSrc.name + ".NbTouch: " + m_Touches.Count);
         SendMessage("OnMVRTouchMoved", iTouch, SendMessageOptions.DontRequireReceiver);
     }
 }
Example #2
0
 protected virtual void _OnMVRTouchMoved(VRTouch iTouch)
 {
     if (TouchEvents == VRTouch.ETouchParameter.ReceiveTouchEvents)
     {
         //MiddleVRTools.Log(2, "Touch end: " + iSrc.name + ".NbTouch: " + m_Touches.Count);
         SendMessage("OnMVRTouchMoved", iTouch, SendMessageOptions.DontRequireReceiver);
     }
 }
Example #3
0
 // ***** RECEIVE TOUCH
 protected void _OnMVRTouchBegin(VRTouch iTouch)
 {
     if (TouchEvents == VRTouch.ETouchParameter.ReceiveTouchEvents)
     {
         m_Touches.Add(iTouch);
         //MiddleVRTools.Log(2, "Touch begin: " + iSrc.name + ". NbTouch: " + m_Touches.Count );
         SendMessage("OnMVRTouchBegin", iTouch, SendMessageOptions.DontRequireReceiver);
     }
 }
Example #4
0
    protected virtual VRTouch _FindVRTouch(GameObject iTouchedObject)
    {
        VRTouch touch = null;

        // Find existing VRTouch
        foreach (VRTouch touchInList in m_Touches)
        {
            if (touchInList.TouchedObject == iTouchedObject)
            {
                touch = touchInList;
            }
        }

        return(touch);
    }
Example #5
0
    protected virtual void OnTriggerExit(Collider collider)
    {
        if (TouchEvents == VRTouch.ETouchParameter.SendTouchEvents)
        {
            // We are the touch emitter
            GameObject touchedObject = collider.gameObject;

            VRTouch touch = _FindVRTouch(touchedObject);

            if (touch != null)
            {
                _SendVRTouchEnd(touch, false);
            }
        }
    }
    protected void OnMVRTouchBegin(VRTouch iTouch)
    {
        Vector3 fwd = -transform.TransformDirection(Vector3.up);
        Ray     ray = new Ray(iTouch.TouchObject.transform.position, fwd);

        var collider = GetComponent <Collider>();

        RaycastHit hit;

        if (collider != null && collider.Raycast(ray, out hit, 1.0F))
        {
            if (hit.collider.gameObject == gameObject)
            {
                Vector2 mouseCursor = hit.textureCoord;
                SetVirtualMousePosition(mouseCursor);
            }
        }
    }
Example #7
0
    protected virtual void OnTriggerStay(Collider collider)
    {
        if (TouchEvents == VRTouch.ETouchParameter.SendTouchEvents)
        {
            // We are the touch emitter
            GameObject touchedObject = collider.gameObject;
            VRActor    actor         = touchedObject.GetComponent <VRActor>();

            if (actor != null)
            {
                VRTouch touch = _FindVRTouch(touchedObject);

                if (touch != null)
                {
                    // Send message to touched object
                    actor._OnMVRTouchMoved(touch);
                    // Send message to ourself
                    this.SendMessage("OnMVRTouchMoved", touch, SendMessageOptions.DontRequireReceiver);
                }
            }
        }
    }
Example #8
0
    protected virtual void _SendVRTouchEnd(VRTouch iTouch, bool iOnDestroy)
    {
        // Other actor
        VRActor actor = iTouch.TouchedObject.GetComponent <VRActor>();

        if (actor != null)
        {
            // Send message to touched object
            actor._OnMVRTouchEnd(iTouch);
            // Send message to ourself
            this.SendMessage("OnMVRTouchEnd", iTouch, SendMessageOptions.DontRequireReceiver);

            // XXX Cb: in OnDestroy we are iterating over the m_Touches list
            // here we are removing an element, so in OnDestroy, foreach
            // complains that the list has been modified
            // There is probably a cleaner way to do this !!
            if (!iOnDestroy)
            {
                // Ourself
                m_Touches.Remove(iTouch);
            }
        }
    }
Example #9
0
    // ***** SEND TOUCH
    protected virtual void OnTriggerEnter(Collider collider)
    {
        if (TouchEvents == VRTouch.ETouchParameter.SendTouchEvents)
        {
            GameObject touchedObject = collider.gameObject;

            // Other actor
            VRActor otherActor = touchedObject.GetComponent <VRActor>();

            if (otherActor != null)
            {
                VRTouch touch = new VRTouch();
                touch.TouchedObject = touchedObject;
                touch.TouchObject   = this.gameObject;

                // Send message to touched object
                otherActor._OnMVRTouchBegin(touch);

                // Send message to ourself so attached script can also react
                this.SendMessage("OnMVRTouchBegin", touch, SendMessageOptions.DontRequireReceiver);
                m_Touches.Add(touch);
            }
        }
    }
Example #10
0
 protected void OnMVRTouchMoved(VRTouch iTouch)
 {
     print(name + ": OnMVRTouchMoved, touch object=" + iTouch.TouchObject);
 }
 protected void OnMVRTouchEnd(VRTouch iTouch)
 {
     SetVirtualMouseButtonPressed();
     SetVirtualMouseButtonReleased();
 }
Example #12
0
 protected void OnMVRTouchEnd(VRTouch iTouch)
 {
     print(name + ": OnMVRTouchBegin, touch object=" + iTouch.TouchObject);
     this.GetComponent <Renderer>().material.color = Color.white;
 }
Example #13
0
 protected void OnMVRTouchMoved(VRTouch iTouch)
 {
     print(name + ": OnMVRTouchMoved, touch object=" + iTouch.TouchObject);
 }
Example #14
0
 // ***** RECEIVE TOUCH
 protected virtual void _OnMVRTouchBegin(VRTouch iTouch)
 {
     if (TouchEvents == VRTouch.ETouchParameter.ReceiveTouchEvents)
     {
         m_Touches.Add(iTouch);
         //MiddleVRTools.Log(2, "Touch begin: " + iSrc.name + ". NbTouch: " + m_Touches.Count );
         SendMessage("OnMVRTouchBegin", iTouch, SendMessageOptions.DontRequireReceiver);
     }
 }
Example #15
0
 protected void OnMVRTouchEnd(VRTouch iTouch)
 {
     SetVirtualMouseButtonPressed();
     SetVirtualMouseButtonReleased();
 }
Example #16
0
 protected void OnMVRTouchEnd(VRTouch iTouch)
 {
     print(name + ": OnMVRTouchBegin, touch object=" + iTouch.TouchObject);
     this.GetComponent<Renderer>().material.color = Color.white;
 }
Example #17
0
    // ***** SEND TOUCH
    protected void OnTriggerEnter(Collider collider)
    {
        if (TouchEvents == VRTouch.ETouchParameter.SendTouchEvents)
        {
            GameObject touchedObject = collider.gameObject;

            // Other actor
            VRActor otherActor = touchedObject.GetComponent<VRActor>();

            if (otherActor != null)
            {
                VRTouch touch = new VRTouch();
                touch.TouchedObject = touchedObject;
                touch.TouchObject = this.gameObject;

                // Send message to touched object
                otherActor._OnMVRTouchBegin(touch);

                // Send message to ourself so attached script can also react
                this.SendMessage("OnMVRTouchBegin", touch, SendMessageOptions.DontRequireReceiver);
                m_Touches.Add(touch);
            }
        }
    }
Example #18
0
    protected void OnMVRTouchBegin(VRTouch iTouch)
    {
        Vector3 fwd = -transform.TransformDirection(Vector3.up);
        Ray ray = new Ray(iTouch.TouchObject.transform.position, fwd);

        var collider = GetComponent<Collider>();

        RaycastHit hit;
        if (collider != null && collider.Raycast(ray, out hit, 1.0F))
        {
            if (hit.collider.gameObject == gameObject)
            {
                Vector2 mouseCursor = hit.textureCoord;
                SetVirtualMousePosition(mouseCursor);
            }
        }
    }
Example #19
0
    protected void _SendVRTouchEnd(VRTouch iTouch, bool iOnDestroy)
    {
        // Other actor
        VRActor actor = iTouch.TouchedObject.GetComponent<VRActor>();

        if (actor != null)
        {
            // Send message to touched object
            actor._OnMVRTouchEnd(iTouch);
            // Send message to ourself
            this.SendMessage("OnMVRTouchEnd", iTouch, SendMessageOptions.DontRequireReceiver);

            // XXX Cb: in OnDestroy we are iterating over the m_Touches list
            // here we are removing an element, so in OnDestroy, foreach
            // complains that the list has been modified
            // There is probably a cleaner way to do this !!
            if (!iOnDestroy)
            {
                // Ourself
                m_Touches.Remove(iTouch);
            }
        }
    }
Example #20
0
 public void OnMVRTouchBegin(VRTouch iTouch)
 {
     print(name + ": OnMVRTouchBegin by, touch object=" + iTouch.TouchObject);
     this.GetComponent <Renderer>().material.color = Color.red;
 }