public void Interact(InteractableManager interactableManager, InventoryManager inventoryManager) { if (AreRequirementsMet(inventoryManager)) { CoroutineManager.PerformCoroutine(DoEffects(interactableManager, inventoryManager)); } else if (requirementsFailedReaction != null) { interactableManager.AddReaction(this, requirementsFailedReaction); } }