public override void OnInteract() { if (playerQuestLog.Contains(quest)) { Dialogue questDialogue; if (playerInventory.Contains(quest.requiredObjectId)) { questDialogue = endQuestDialogue; quest.isFinished = true; } else { questDialogue = waitingForQuestItemDialogue; } FindObjectOfType <DialogueDisplayer>().StartDialogue(questDialogue); } else { base.OnInteract(); // Display dialog line playerQuestLog.Accept(quest); } }