Exemplo n.º 1
0
    void OnTriggerExit(Collider collider)
    {
        collidedObject = null;
        var iobj = collider.GetComponent <IInteractableObject>();

        if (iobj != null)
        {
            if (HandState != State.HOLDING)
            {
                if (_interactableObjects.Count > 0)
                {
                    iobj.EndHighlight();
                    _interactableObjects.Remove(iobj);
                }
                if (_interactableObjects.Count > 0)
                {
                    _interactableObjects[_interactableObjects.Count - 1].StartHighlight();
                }
                else
                {
                    HandState = State.EMPTY;
                    //     GestureState = Gesture.EMPTY;
                }
            }
            else // remove while holding
            {
                _interactableObjects.Remove(iobj);
            }
            UpdateHoverColor();
        }

        collidedVertexHandle = null;
        collidedFaceHandle   = null;
    }
Exemplo n.º 2
0
    void OnTriggerEnter(Collider collider)
    {
        collidedObject = collider.gameObject;
        var iobj = collider.GetComponent <IInteractableObject>();
        var colliderGameObject = collider.gameObject;

        if (colliderGameObject.GetComponent <VertexHandleController>() != null)
        {
            collidedVertexHandle = colliderGameObject.GetComponent <VertexHandleController>();
        }
        else if (colliderGameObject.GetComponent <FaceHandleController>() != null)
        {
            collidedFaceHandle = colliderGameObject.GetComponent <FaceHandleController>();
        }


        if (HandState == State.EMPTY || HandState == State.TOUCHING)
        {
            if (iobj != null)
            {
                if (colliderGameObject.GetComponent <ExtrudableController>() != null)
                {
                    _interactableObjects.Insert(0, iobj);
                }
                else
                {
                    if (_interactableObjects.Count > 0)
                    {
                        _interactableObjects[_interactableObjects.Count - 1].EndHighlight();
                    }
                    iobj.StartHighlight();
                    _interactableObjects.Add(iobj);
                }

                HandState = State.TOUCHING;
                UpdateHoverColor();
            }
        }
    }