コード例 #1
0
        public virtual void OnDrag(PointerEventData eventData)
        {
            var dragPosition = eventData.position;
            var difference   = dragPosition - StartPosition;
            var moveVector   = Vector2.Min(new Vector2(Mathf.Abs(difference.x), Mathf.Abs(difference.y)),
                                           MaxPossibleJoystickBorders) * difference.normalized;

            Transform.position = StartPosition + moveVector;
            onInteract?.Invoke(moveVector / MaxPossibleJoystickBorders);
        }
コード例 #2
0
 private void GetInteractInput()
 {
     if (Input.GetAxisRaw("Fire1") > 0)
     {
         OnInteractEvent?.Invoke();
     }
 }
コード例 #3
0
        public void Interact(Entity interactor = null)
        {
            //  Invoke an interact event
            InteractableEvent e = new InteractableEvent {
                entity = interactor, interactable = this, transform = this.transform
            };

            OnInteractEvent?.Invoke(this, e);
            if (e.cancel == true)
            {
                return;
            }                               //  return if the event has been cancelled by any subscriber
        }
コード例 #4
0
 public void Interact()
 {
     if (State == eInteractableState.ON)
     {
         OnInteractOff?.Invoke();
         State = eInteractableState.OFF;
     }
     else if (State == eInteractableState.OFF)
     {
         OnInteractOn?.Invoke();
         State = eInteractableState.ON;
     }
 }
コード例 #5
0
    // Every interaction within the button collider
    public virtual void OnInteract(object from, bool activating)
    {
        if (!waitForInactive)
        {
            if (CanActivate())
            {
                if (activating)
                {
                    OnActivate(from);
                }
                else if (!highlighted)
                {
                    OnHighlight(from);
                }
            }

            else if (CanDeactivate())
            {
                if (activating)
                {
                    OnDeactivate(from);
                }
                else if (!highlighted)
                {
                    OnHighlight(from);
                }
            }
        }

        if (waitForInactive && !activating)
        {
            waitForInactive = false;
        }

        OnInteractEvent?.Invoke(this, from, activating);
    }
コード例 #6
0
 public void Interact()
 {
     OnInteract.Invoke();
 }
コード例 #7
0
 public virtual void Interact(VR_Controller controller)
 {
     onInteractEvent.Invoke(controller);
 }
コード例 #8
0
 public void OnInteract()
 {
     OnInteractEvent?.Invoke();
 }
コード例 #9
0
 public void Interactinput()
 {
     OnInteractEvent?.Invoke();
 }