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); } } }
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); } } }
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(); } } } }