public void AddQuestList(List <QuestContent> contents, List <Quest> quests, QuestParameterDelegate selectHandler) { AddContents(contents); if (quests == null) { return; } for (int i = 0; i < quests.Count; i++) { var quest = quests[i]; if (quest == null) { continue; } PrepareButtonList(); if (selectHandler != null) { currentButtonList.AddButton(quest.icon, 1, StringField.GetStringValue(quest.title), delegate { selectHandler(quest); }); } else { currentButtonList.AddButton(quest.icon, 1, StringField.GetStringValue(quest.title), null); } } }
protected virtual void ShowActiveQuest(Quest quest) { QuestParameterDelegate backButtonDelegate = null; if (activeQuests.Count + offerableQuests.Count >= 2) { backButtonDelegate = OnQuestBackButton; allowBackButton = true; // May turn in quest and be left with only 1. In this case, still allow back button. } quest.greeterID = StringField.GetStringValue(playerTextInfo.id); QuestMachineMessages.DiscussQuest(player, this, id, quest.id); questDialogueUI.ShowActiveQuest(myQuestGiverTextInfo, quest, OnContinueActiveQuest, backButtonDelegate); QuestMachineMessages.DiscussedQuest(player, this, id, quest.id); }
public virtual void ShowQuestList(QuestParticipantTextInfo speaker, List <QuestContent> activeQuestsContents, List <Quest> activeQuests, List <QuestContent> offerableQuestsContents, List <Quest> offerableQuests, QuestParameterDelegate selectHandler) { ShowContents(speaker, null); SetControlButtons(true, false, false); if (activeQuests != null && activeQuests.Count > 0) { currentButtonList = null; AddQuestList(activeQuestsContents, activeQuests, selectHandler); } if (offerableQuests != null && offerableQuests.Count > 0) { currentButtonList = null; AddQuestList(offerableQuestsContents, offerableQuests, selectHandler); } }
public virtual void ShowActiveQuest(QuestParticipantTextInfo speaker, Quest quest, QuestParameterDelegate continueHandler, QuestParameterDelegate backHandler) { selectedQuest = quest; this.backHandler = backHandler; var contents = quest.GetContentList(QuestContentCategory.Dialogue, speaker); ShowContents(speaker, contents); SetControlButtons(true, backHandler != null, false); if (ContainsGroupButton(contents)) { SetControlButtonsInteractable(false); } }
public virtual void ShowOfferQuest(QuestParticipantTextInfo speaker, Quest quest, QuestParameterDelegate acceptHandler, QuestParameterDelegate declineHandler) { selectedQuest = quest; this.acceptHandler = acceptHandler; this.declineHandler = declineHandler; ShowContents(speaker, quest.offerContentList); SetControlButtons(false, false, true); }