Ejemplo n.º 1
0
 private void OnTriggerExit2D(Collider2D collision)
 {
     if (collision.tag == "PlayerInteractArea")
     {
         if (interactionGraphics != null && turnGraphicsOfOnExit)
         {
             interactionGraphics.SetActive(false);
         }
         if (interactableObjReferece != null)
         {
             _IsInteractable interactableObj = interactableObjReferece.GetComponent <_IsInteractable>();
             interactableObj.SetInteractable(false);
         }
     }
 }
Ejemplo n.º 2
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.tag == "PlayerInteractArea")
     {
         if (interactionGraphics != null)
         {
             interactionGraphics.SetActive(true);
         }
         if (interactableObjReferece != null)
         {
             _IsInteractable interactableObj = interactableObjReferece.GetComponent <_IsInteractable>();
             interactableObj.SetInteractable(true);
             //setting the object to the player interactWith
             GameObject.FindWithTag("Player").GetComponent <Player>().SetObjectToInteract(interactableObjReferece);
         }
     }
 }
Ejemplo n.º 3
0
    void Update()
    {
        UpdateCameraSize();

        if (!characterController.characterInfo.alive || characterController.characterInfo.characterLocked)
        {
            return;
        }

        if (Input.GetButtonDown("Interact"))
        {
            _IsInteractable objectBeingInteracted = interactionObj.GetComponent <_IsInteractable>();
            if (objectBeingInteracted != null && objectBeingInteracted.IsInteractable())
            {
                switch (objectBeingInteracted.GetInteractionType())
                {
                case InteractionType.npcStory:
                    objectBeingInteracted.InteractWith();
                    break;

                case InteractionType.shadow:

                    GameObject shadow = objectBeingInteracted.InteractingWith();
                    print(shadow.transform.parent.gameObject.name);
                    InventoryManager.Instance.SetNewItemHolder(shadow.transform.parent.gameObject.GetComponent <_ItemHolder>());
                    break;

                case InteractionType.rock:
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }
        }
    }