public override void Interact()
{
if (Interactible)
{
if (PlayerInventory.GetIngredientAmount(desiredObject) > 0)
{
PlayerInventory.RemoveInventoryItem(desiredObject, 1);
foreach (GameObject go in objectsToDeactivate)
{
go.SetActive(false);
}
foreach (GameObject go in objectsToActivate)
{
go.SetActive(true);
}
silhouetteSeen.SetActive(false);
silhouetteInteractible.SetActive(false);
hasItem = true;
interactible = false;
}
else
{
StopAllCoroutines();
MessageMenu messageMenu = UIManager.Open <MessageMenu>();
messageMenu.SetText(string.Format(NEGATIVE_STRING, desiredObject.displayName), 1);
StartCoroutine(CloseMessage());
}
}
}