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(); }
protected virtual string GetQuestHeading(string quest) { var questDescription = (questDescriptionSource == QuestDescriptionSource.Title) ? QuestLog.GetQuestTitle(quest) : QuestLog.GetQuestDescription(quest); return(FormattedText.Parse(questDescription, DialogueManager.masterDatabase.emphasisSettings).text); }
private void AddQuestTrack(string quest) { if (container == null || questTrackTemplate == null) { return; } var questDescription = (questDescriptionSource == QuestDescriptionSource.Title) ? QuestLog.GetQuestTitle(quest) : QuestLog.GetQuestDescription(quest); var heading = FormattedText.Parse(questDescription, DialogueManager.MasterDatabase.emphasisSettings).text; GameObject go; if (unusedInstances.Count > 0) { // Try to use an unused instance: go = unusedInstances[0].gameObject; unusedInstances.RemoveAt(0); } else { // Otherwise instantiate one: go = Instantiate(questTrackTemplate.gameObject) as GameObject; if (go == null) { Debug.LogError(string.Format("{0}: {1} couldn't instantiate quest track template", new object[] { DialogueDebug.Prefix, name })); return; } } go.name = heading; go.transform.SetParent(container.transform, false); go.SetActive(true); var questTrack = go.GetComponent <UnityUIQuestTrackTemplate>(); instantiatedItems.Add(questTrack); if (questTrack != null) { questTrack.Initialize(); var questState = QuestLog.GetQuestState(quest); questTrack.SetDescription(heading, questState); int entryCount = QuestLog.GetQuestEntryCount(quest); for (int i = 1; i <= entryCount; i++) { var entryState = QuestLog.GetQuestEntryState(quest, i); var entryText = FormattedText.Parse(GetQuestEntryText(quest, i, entryState), DialogueManager.MasterDatabase.emphasisSettings).text; if (!string.IsNullOrEmpty(entryText)) { questTrack.AddEntryDescription(entryText, entryState); } } questTrack.transform.SetSiblingIndex(siblingIndexCounter++); } }
private void AddQuestTitle(string quest) { QuestTrackerLine line = new QuestTrackerLine(); var questDescription = (questDescriptionSource == QuestDescriptionSource.Title) ? QuestLog.GetQuestTitle(quest) : QuestLog.GetQuestDescription(quest); line.text = FormattedText.Parse(questDescription, DialogueManager.MasterDatabase.emphasisSettings).text; line.guiStyleName = GetTitleStyleName(QuestLog.GetQuestState(quest)); 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)); }
private void InstantiateQuestTrack(string quest) { if (container == null || questTrackTemplate == null) { return; } var go = Instantiate(questTrackTemplate.gameObject) as GameObject; if (go == null) { Debug.LogError(string.Format("{0}: {1} couldn't instantiate quest track template", new object[] { DialogueDebug.Prefix, name })); return; } instantiatedItems.Add(go); var questDescription = (questDescriptionSource == QuestDescriptionSource.Title) ? QuestLog.GetQuestTitle(quest) : QuestLog.GetQuestDescription(quest); var heading = FormattedText.Parse(questDescription, DialogueManager.MasterDatabase.emphasisSettings).text; go.name = heading; go.transform.SetParent(container.transform, false); go.SetActive(true); var questTrack = go.GetComponent <UnityUIQuestTrackTemplate>(); if (questTrack != null) { questTrack.Initialize(); var questState = QuestLog.GetQuestState(quest); questTrack.SetDescription(heading, questState); int entryCount = QuestLog.GetQuestEntryCount(quest); for (int i = 1; i <= entryCount; i++) { var entryState = QuestLog.GetQuestEntryState(quest, i); var entryText = FormattedText.Parse(GetQuestEntryText(quest, i, entryState), DialogueManager.MasterDatabase.emphasisSettings).text; questTrack.AddEntryDescription(entryText, entryState); } } }
private void InstantiateQuestTrack(string quest) { if (container == null || questTrackTemplate == null) { return; } var go = Instantiate(questTrackTemplate.gameObject) as GameObject; if (go == null) { Debug.LogError(string.Format("{0}: {1} couldn't instantiate quest track template", new object[] { DialogueDebug.Prefix, name })); return; } instantiatedItems.Add(go); var questDescription = (questDescriptionSource == QuestDescriptionSource.Title) ? QuestLog.GetQuestTitle(quest) : QuestLog.GetQuestDescription(quest); var heading = FormattedText.Parse(questDescription, DialogueManager.MasterDatabase.emphasisSettings).text; go.name = heading; go.transform.SetParent(container.transform, false); go.SetActive(true); var questTrack = go.GetComponent <UnityUIQuestTrackTemplate>(); if (questTrack.description != null) { questTrack.description.text = heading; } if (questTrack.entryDescription != null) { var entryDescription = GetQuestEntryDescription(quest); questTrack.entryDescription.text = entryDescription; questTrack.entryDescription.gameObject.SetActive(!string.IsNullOrEmpty(entryDescription)); } }