bool TryHandleAnswer(QuestCollection.QuestInfo info, string message) { if (info.CorrectAnswer == message.Trim()) { Debug.Log("Answer is correct"); _upcomingQuestInfo = info; return(true); } Debug.LogWarning("Answer is not correct"); return(false); }
public override void Update() { if (_upcomingQuestInfo == null) { return; } _finishTimer += Time.deltaTime; if (_finishTimer < QuestFinishDelay) { return; } _finishTimer = 0; HandleQuestFinish(_upcomingQuestInfo); _upcomingQuestInfo = null; }
void HandleQuestFinish(QuestCollection.QuestInfo info) { _progressController.FinishGame(_questIndex.ToString(), () => {}); _questIndex++; if (_pendingQuestEvents.Count > 0) { Debug.LogError("Not all quest events fired"); _pendingQuestEvents.Clear(); } if (_curRetweetChain != null) { Debug.LogError("Retweet chain left unfinished"); _curRetweetChainId = -1; _curRetweetChain = null; _curRetweetChainIndex = 0; } var questInfo = _questCollection.TryGetQuestInfo(_questIndex); if (questInfo != null) { _pendingQuestEvents.AddRange(questInfo.QuestEvents); } else { GameFinish(); } _glitchController.AddConstantly(info.BaseGlitchIncrease); _glitchController.AddOneShot(info.OneShotGlitch, QuestFinishGlitchTime); if (questInfo != null) { OnQuestStarted(); } SetupCurrentTweets(); SoundSource.Current.PlayQuestFinished(); }