/// <summary> /// Returns true if the prerequisites for this quest have been completed. /// </summary> public bool CheckPrerequisites() { QuestHandler playerQuestHandler = GameObject.FindWithTag("Player").GetComponent <QuestHandler>(); // get quest handler // Check the game state if (!GameState.gameState.AreAllStatesUnlocked(requiredGameStates)) { return(false); } // iterate over all the required quests and determine if the player has completed them. foreach (string requiredQuest in requiredQuests) { if (!playerQuestHandler.GetCompletedQuests().ContainsKey(requiredQuest)) { return(false); } } return(true); }