// Copyright (c) Pixel Crushers. All rights reserved. using UnityEngine; using System.Collections.Generic; namespace PixelCrushers.QuestMachine { /// /// Interface for quest dialogue UIs. /// public interface IQuestDialogueUI { /// /// True if the dialogue UI is visible, false otherwise. /// bool isVisible { get; } /// /// Shows UI content. /// /// Speaker. /// Content being spoken by speaker. void ShowContents(QuestParticipantTextInfo speaker, List contents); /// /// Shows content explaining that all quests' offer conditions are unmet. /// /// Speaker. /// Content explaining that all quests' offer conditions are unmet. /// List of quests. void ShowOfferConditionsUnmet(QuestParticipantTextInfo speaker, List contents, List quests); /// /// Shows a list of quests. /// /// Speaker. /// Content introducing the list of active quests. /// Active quests. /// Content introducing the list of offerable quests. /// Offerable quests. /// Method to invoke when the player selects a quest. void ShowQuestList(QuestParticipantTextInfo speaker, List activeQuestsContents, List activeQuests, List offerableQuestsContents, List offerableQuests, QuestParameterDelegate selectHandler); /// /// Shows a quest offer. /// /// Speaker. /// Quest to offer. /// Method to invoke if the player accepts the quest. /// Method to invoke if the player declines the quest. void ShowOfferQuest(QuestParticipantTextInfo speaker, Quest quest, QuestParameterDelegate acceptHandler, QuestParameterDelegate declineHandler); /// /// Shows an active quest. /// /// Speaker. /// Active quest. /// Method to invoke if the player clicks the continue button. /// Method to invoke if the player clicks the back button. void ShowActiveQuest(QuestParticipantTextInfo speaker, Quest quest, QuestParameterDelegate continueHandler, QuestParameterDelegate backHandler); /// /// Shows completed quests. /// /// Speaker /// Completed quests. void ShowCompletedQuest(QuestParticipantTextInfo speaker, List quests); /// /// Hides the dialogue UI. /// void Hide(); } }