void Update() { //TODO where to reset quest if (questReset) { questReset = false; cutscenePlayed = false; currentQuest.updateCurrentObjective(); updateObjectiveText(); } if (playing) { timeBetweenSpeech += Time.deltaTime; if (timeBetweenSpeech > 3.7) { setDialogueText (currentQuest.progressDialogue ()); timeBetweenSpeech = 0.0f; } } checkObjectiveCompletion (); if (currentQuest.isObjectiveComplete()) { currentQuest.updateCurrentObjective(); updateObjectiveText(); } if (currentQuest.checkStageCompletion () && currentQuest.isDialogueComplete()) { progressQuest (); } if(currentQuest.isReadyForCutscene() && !cutscenePlayed) { cutscenePlayed = true; currentQuest.playCutscene(); } if(currentQuest.checkQuestCompletion()) { foreach(Quest q in quests) { if(q.questNumber == currentQuestNumber + 1) { cutscenePlayed = false; currentQuest = quests[++currentQuestNumber]; currentQuest.setupCharacterPositions(); updateObjectiveText(); } } } }