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(); }
public virtual void Assign(string quest, ToggleChangedDelegate trackToggleDelegate) { if (UITextField.IsNull(label)) { label.uiText = button.GetComponentInChildren <UnityEngine.UI.Text>(); } label.text = quest; var canTrack = QuestLog.IsQuestActive(quest) && QuestLog.IsQuestTrackingAvailable(quest); trackToggleTemplate.Assign(canTrack, QuestLog.IsQuestTrackingEnabled(quest), quest, trackToggleDelegate); }
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)); }