void OnTriggerExit2D(Collider2D collider) { if (collider.tag == "NPC") { BoxCollider2D boxCollider = collider.gameObject.GetComponent <BoxCollider2D>(); NPCCharacterScript npc = boxCollider.transform.parent.gameObject.GetComponent <NPCCharacterScript>(); if (npc != null) { // Leave the conversation if needed npc.leaveConversation(); } } else if (collider.tag == "Item") { BoxCollider2D boxCollider = collider.gameObject.GetComponent <BoxCollider2D>(); InteractableItemScript item = boxCollider.transform.parent.gameObject.GetComponent <InteractableItemScript>(); if (item != null) { if (item.pickedUp) { item.beingPickedUp = false; lockMovement = false; } } } }
void OnTriggerStay2D(Collider2D collider) { if (collider.tag == "NPC") { BoxCollider2D boxCollider = collider.gameObject.GetComponent <BoxCollider2D>(); NPCCharacterScript npc = boxCollider.transform.parent.gameObject.GetComponent <NPCCharacterScript>(); if (npc != null) { if (pressI) { npc.continueConversation(); pressI = false; } } } else if (collider.tag == "Item") { BoxCollider2D boxCollider = collider.gameObject.GetComponent <BoxCollider2D>(); InteractableItemScript item = boxCollider.transform.parent.gameObject.GetComponent <InteractableItemScript>(); if (item != null) { if (item.pickedUp && pressI) { // Add item to your inventory inventory.insertItem(InventoryScript.ITEMS.FLOWER); // Now destroy the item so it dissapears from the world Destroy(item); Destroy(collider.transform.parent.gameObject); lockMovement = false; } else if (pressI) { item.beingPickedUp = true; lockMovement = true; } } } }