Esempio n. 1
0
	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();
				}
			}
		}

	}