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);
         }
     }
 }
Exemplo n.º 2
0
        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);
 }