private string GetQuestEntryText(string quest, int entryNum, QuestState entryState) { if (entryState == QuestState.Unassigned || entryState == QuestState.Abandoned) { return(string.Empty); } else if ((entryState == QuestState.Success || entryState == QuestState.Failure) && !showCompletedEntryText) { return(string.Empty); } else if (entryState == QuestState.Success) { var text = DialogueLua.GetQuestField(quest, "Entry " + entryNum + " Success").AsString; if (!string.IsNullOrEmpty(text)) { return(text); } } else if (entryState == QuestState.Failure) { var text = DialogueLua.GetQuestField(quest, "Entry " + entryNum + " Failure").AsString; if (!string.IsNullOrEmpty(text)) { return(text); } } return(QuestLog.GetQuestEntry(quest, entryNum)); }
private void ShowQuests(QuestState questStateMask) { currentQuestStateMask = questStateMask; NoQuestsMessage = GetNoQuestsMessage(questStateMask); List <QuestInfo> questList = new List <QuestInfo>(); string[] titles = QuestLog.GetAllQuests(questStateMask); foreach (var title in titles) { FormattedText description = FormattedText.Parse(QuestLog.GetQuestDescription(title), DialogueManager.MasterDatabase.emphasisSettings); FormattedText localizedTitle = FormattedText.Parse(QuestLog.GetQuestTitle(title), DialogueManager.MasterDatabase.emphasisSettings); FormattedText heading = (questHeadingSource == QuestHeadingSource.Description) ? description : localizedTitle; bool abandonable = QuestLog.IsQuestAbandonable(title) && IsShowingActiveQuests; bool trackable = QuestLog.IsQuestTrackingAvailable(title) && IsShowingActiveQuests; bool track = QuestLog.IsQuestTrackingEnabled(title); int entryCount = QuestLog.GetQuestEntryCount(title); FormattedText[] entries = new FormattedText[entryCount]; QuestState[] entryStates = new QuestState[entryCount]; for (int i = 0; i < entryCount; i++) { entries[i] = FormattedText.Parse(QuestLog.GetQuestEntry(title, i + 1), DialogueManager.MasterDatabase.emphasisSettings); entryStates[i] = QuestLog.GetQuestEntryState(title, i + 1); } questList.Add(new QuestInfo(title, heading, description, entries, entryStates, trackable, track, abandonable)); } Quests = questList.ToArray(); OnQuestListUpdated(); }
private string GetQuestEntryDescription(string quest) { StringBuilder sb = new StringBuilder(); int entryCount = QuestLog.GetQuestEntryCount(quest); for (int i = 1; i <= entryCount; i++) { sb.Append(FormattedText.Parse(QuestLog.GetQuestEntry(quest, i), DialogueManager.MasterDatabase.emphasisSettings).text); if (i < entryCount) { sb.Append("\n"); } } return(sb.ToString()); }
private void AddQuestEntries(string quest) { int entryCount = QuestLog.GetQuestEntryCount(quest); for (int i = 1; i <= entryCount; i++) { QuestState entryState = QuestLog.GetQuestEntryState(quest, i); if (entryState != QuestState.Unassigned) { QuestTrackerLine line = new QuestTrackerLine(); line.text = FormattedText.Parse(QuestLog.GetQuestEntry(quest, i), DialogueManager.MasterDatabase.emphasisSettings).text; line.guiStyleName = GetEntryStyleName(entryState); line.guiStyle = null; lines.Add(line); } } }
protected virtual QuestInfo GetQuestInfo(string group, string title) { FormattedText description = FormattedText.Parse(QuestLog.GetQuestDescription(title), DialogueManager.masterDatabase.emphasisSettings); FormattedText localizedTitle = FormattedText.Parse(QuestLog.GetQuestTitle(title), DialogueManager.masterDatabase.emphasisSettings); FormattedText heading = (questHeadingSource == QuestHeadingSource.Description) ? description : localizedTitle; bool abandonable = QuestLog.IsQuestAbandonable(title) && isShowingActiveQuests; bool trackable = QuestLog.IsQuestTrackingAvailable(title) && isShowingActiveQuests; bool track = QuestLog.IsQuestTrackingEnabled(title); int entryCount = QuestLog.GetQuestEntryCount(title); FormattedText[] entries = new FormattedText[entryCount]; QuestState[] entryStates = new QuestState[entryCount]; for (int i = 0; i < entryCount; i++) { entries[i] = FormattedText.Parse(QuestLog.GetQuestEntry(title, i + 1), DialogueManager.masterDatabase.emphasisSettings); entryStates[i] = QuestLog.GetQuestEntryState(title, i + 1); } return(new QuestInfo(group, title, heading, description, entries, entryStates, trackable, track, abandonable)); }