Example #1
0
        void Update()
        {
            if (_interactable != null && _interactor != null)
            {
                foreach (KeyCode kc in _interactable.InteractOptions(_interactor).Keys)
                {
                    if (Input.GetKeyDown(kc) || (joystickMap.ContainsKey(kc) && Input.GetKeyDown(joystickMap[kc])))
                    {
                        Interactable.Interactions i = _interactable.InteractOptions(_interactor)[kc];
                        _interactor.Interact(i, _interactable);
                        _interactable.Interact(_interactor, i);
                        Hide();
                    }
                }

                if (_interactable != null)
                {
                    RectTransform canvasRect = _choiceBox.canvas.GetComponent <RectTransform>();

                    Vector3 viewPos = Camera.main.WorldToViewportPoint(_interactable.transform.position);
                    GetComponent <RectTransform>().anchoredPosition = new Vector2(viewPos.x * canvasRect.sizeDelta.x,
                                                                                  viewPos.y * canvasRect.sizeDelta.y);
                }
            }
        }
Example #2
0
 public void Interact(Interactable.Interactions code, Interactable interactable)
 {
     if (code == Interactable.Interactions.Pickup)
     {
         _pickedUpInteractable                = interactable;
         interactable.transform.parent        = transform;
         interactable.transform.localPosition = Vector2.zero;
     }
     else if (code == Interactable.Interactions.Drop)
     {
         if (_pickedUpInteractable != null)
         {
             Drop();
         }
     }
 }