A GameObject that can offer quests. More...
Public Member Functions | |
override void | Reset () |
override void | Awake () |
override void | OnEnable () |
override void | OnDisable () |
override void | Start () |
override void | OnDestroy () |
override void | ResetToOriginalState () |
Resets quest giver's quest list to its original list. | |
override void | DeleteQuest (StringField questID) |
Deletes a quest from this quest giver's list. | |
override Quest | AddQuest (Quest quest) |
Adds a quest to this quest giver's list. | |
virtual bool | HasOfferableOrActiveQuest () |
virtual List< Quest > | GetOfferableQuests () |
Returns the list of quests that this quest giver can currently offer. | |
virtual List< Quest > | GetActiveQuests () |
Returns the list of quests that this quest giver has given player that. | |
virtual bool | HasOfferableOrActiveQuest (GameObject player) |
virtual List< Quest > | GetOfferableQuests (GameObject player) |
Returns the list of quests that this quest giver can currently offer. | |
virtual List< Quest > | GetActiveQuests (GameObject player) |
Returns the list of quests that this quest giver has given player that. | |
virtual void | RecordQuestsByState () |
Records the current offerable and player-assigned quests in the runtime lists. | |
virtual GameObject | FindPlayerJournalGameObject () |
Looks for a GameObject tagged Player that has a QuestListContainer. | |
virtual GameObject | FindPlayerGameObject () |
Looks for a GameObject tagged Player that has a QuestListContainer. | |
virtual void | StartDialogueWithPlayer () |
Starts dialogue with the first GameObject in the scene that's tagged as "Player". | |
virtual void | StartDialogue (GameObject player) |
Starts dialogue with the player. | |
virtual void | SetupPlayerDialogueInfo () |
virtual void | StartSpecifiedQuestDialogueWithPlayer (string questID) |
virtual void | StartSpecifiedQuestDialogue (GameObject player, string questID) |
virtual void | StopDialogue () |
Stops dialogue with the player. | |
virtual void | ShowQuestList () |
virtual void | GiveQuestToQuester (Quest quest, QuestParticipantTextInfo questerTextInfo, QuestListContainer questerQuestListContainer) |
Adds an instance of a quest to a quester's list. | |
virtual void | GiveQuestToQuester (Quest quest, QuestListContainer questerQuestListContainer) |
Adds an instance of a quest to a quester's list. | |
virtual void | GiveQuestToQuester (Quest quest, string questerID) |
Adds an instance of a quest to a quester's list. | |
virtual void | GiveQuestToQuester (Quest quest, StringField questerID) |
Adds an instance of a quest to a quester's list. | |
virtual void | GiveAllQuestsToQuester (QuestListContainer questerQuestListContainer) |
Gives all quests to a quester. | |
virtual void | GiveAllQuestsToQuester (string questerID) |
Gives all quests to a quester. | |
virtual void | GiveAllQuestsToQuester (StringField questerID) |
Gives all quests to a quester. | |
virtual void | GiveAllQuestsToQuester (GameObject quester) |
Gives all quests to a quester. | |
![]() | |
override void | Reset () |
override void | Awake () |
override void | Start () |
override void | OnDestroy () |
void | DestroyQuestInstances () |
virtual void | AddQuests (List< Quest > listToAdd) |
Adds a list of quests to the quest giver's quest list and runs their runtime startup. | |
virtual void | AddQuests (List< Quest > listToAdd, bool delayStartup) |
Adds a list of quests to the quest giver's quest list and runs their runtime startup. | |
virtual Quest | AddQuest (Quest quest, bool delayStartup) |
Adds a quest to the quest giver's quest list and optionally runs its runtime startup immediately or waits until the end of frame to allow other quests to be added to their respective quest lists in case a quest's offer conditions reference the state of another quest. | |
virtual Quest | FindQuest (string questID) |
virtual Quest | FindQuest (StringField questID) |
virtual bool | ContainsQuest (string questID) |
virtual bool | ContainsQuest (StringField questID) |
virtual void | DeleteQuest (Quest quest) |
virtual void | RegisterForQuestEvents (Quest quest) |
virtual void | UnregisterForQuestEvents (Quest quest) |
virtual void | OnMessage (MessageArgs messageArgs) |
Handles a message that the message handler is listening for. | |
virtual void | OnQuestBecameOfferable (Quest quest) |
virtual void | OnQuestStateChanged (Quest quest) |
virtual void | OnQuestNodeStateChanged (QuestNode questNode) |
override string | RecordData () |
override void | ApplyData (string data) |
override void | OnRestartGame () |
The Save System will call this method when restarting the game. | |
![]() | |
string | RecordData () |
This method should return a string that represents the data you want to save. | |
void | ApplyData (string s) |
This method should process the string representation of saved data and apply it to the current state of the game. | |
virtual void | ApplyDataImmediate () |
If the Saver needs to pull data from the Save System immediately after loading a scene, instead of waiting for ApplyData to be called at it its normal time, it can implement this method. | |
virtual void | OnBeforeSceneChange () |
The Save System will call this method before scene changes. | |
Static Public Member Functions | |
static string | GetDisplayName (QuestGiver questGiver) |
Protected Member Functions | |
void | RestartCooldownCheckInvokeRepeating () |
void | BackfillInfoFromEntityType () |
If UI info is unassigned, get it from the quest giver's QuestEntity if present. | |
void | DeleteUnavailableQuests () |
Deletes quests whose maxTimes have been reached. | |
void | AssignGiverIDToQuests () |
virtual void | RecordQuestsByState (GameObject player) |
virtual void | RecordRelevantPlayerQuests () |
Records quests in the player's QuestList that were given by this quest giver or active quests for which this quest giver has dialogue content. | |
virtual void | RemoveQuestsWithNoDialogue (QuestState questState) |
virtual void | RemoveCompletedQuestsWithNoDialogue () |
Removes completed quests that have no dialogue to offer. | |
virtual void | RecordOfferableQuests () |
Records which quests are offerable or not in the runtime lists. | |
virtual bool | PlayerHasSuccessfullyCompleted (StringField questID) |
virtual bool | IsDoingSimilarGeneratedQuest (Quest quest, QuestListContainer playerQuestListContainer) |
virtual void | StartMostRelevantDialogue () |
virtual void | ShowNoQuestsToDiscuss () |
virtual void | ShowOfferConditionsUnmet () |
virtual void | ShowOfferConditionsUnmet (Quest quest) |
virtual void | ShowOfferQuest (Quest quest) |
virtual void | ShowActiveQuest (Quest quest) |
virtual void | ShowCompletedQuest () |
virtual void | ShowCompletedQuest (Quest quest) |
virtual void | OnSelectQuest (Quest quest) |
virtual void | OnAcceptQuest (Quest quest) |
virtual void | OnQuestBackButton (Quest quest) |
virtual void | OnContinueActiveQuest (Quest quest) |
![]() | |
void | InstantiateQuestAssets () |
Instantiates copies of quest assets into the runtime quest list and enables their autostart and offer condition checking. | |
IEnumerator | RuntimeStartupAtEndOfFrame () |
IEnumerator | SetIsLoadingGameFalseAfter2Frames () |
Protected Attributes | |
string | overrideQuestIDToShowInDialogue = string.Empty |
When starting dialogue, show this quest instead of the most relevant quest. | |
![]() | |
StringField | m_id = new StringField() |
StringField | m_displayName = new StringField() |
Sprite | m_image |
![]() | |
Coroutine | m_delayedStartupCoroutine = null |
This coroutine runs when delaying quest runtime startup until the end of frame. | |
List< Quest > | m_runtimeStartupQueue = new List<Quest>() |
The delayed startup coroutine should do runtime startup for quests in this list. | |
![]() | |
string | m_runtimeKey = null |
Properties | |
TextTable | textTable [get, set] |
The text table to use for tags. | |
BasicUIContent | noQuestsUIContents [get, set] |
The UI content to show when the quest giver has no quests to offer. | |
BasicUIContent | offerableQuestsUIContents [get, set] |
The UI content to show when the quest giver has more than one quest to offer. | |
BasicUIContent | activeQuestsUIContents [get, set] |
The UI content to show when the quest giver has more than one active quest. | |
CompletedQuestDialogueMode | completedQuestDialogueMode [get, set] |
What to show in dialogue when quest givers only have completed quests. | |
IQuestDialogueUI | questDialogueUI [get, set] |
The QuestDialogueUI to use when conversing with the player. | |
float | cooldownCheckFrequency [get, set] |
Frequency in seconds at which to check quest cooldowns in case a quest becomes offerable again and should update the indicator UI. | |
List< Quest > | nonOfferableQuests [get, set] |
List< Quest > | offerableQuests [get, set] |
List< Quest > | activeQuests [get, set] |
List< Quest > | completedQuests [get, set] |
GameObject | player [get, set] |
QuestParticipantTextInfo | playerTextInfo [get, set] |
bool | allowBackButton [get, set] |
QuestListContainer | playerQuestListContainer [get, set] |
QuestParticipantTextInfo | myQuestGiverTextInfo [get] |
![]() | |
bool | hasInternallyAssignedID [get] |
bool | hasInternallyAssignedDisplayName [get] |
StringField | id [get, set] |
The ID that uniquely identifies this quest list container. | |
StringField | displayName [get, set] |
The name shown in UIs. | |
Sprite | image [get, set] |
The image shown in UIs. | |
QuestEntity | questEntity [get] |
![]() | |
bool | forwardEventsToListeners [get, set] |
Forward quest state events to listeners that have registered to events such as questBecameOfferable, questStateChanged, and questNodeStateChanged. | |
bool | includeInSavedGameData [get, set] |
Include in saved game data, which is used for saved games and scene persistence. | |
bool | addNewQuestsSinceSavedGame [get, set] |
If quests were added after game was saved, add them to quest list when loading saved game. | |
List< Quest > | questList [get, protected set] |
Quest assets. | |
List< string > | deletedStaticQuests [get, protected set] |
IDs of static quests that have been deleted and shouldn't be instantiated. | |
List< Quest > | originalQuestList [get, set] |
The original design-time quest list. | |
![]() | |
bool | appendSaverTypeToKey [get, set] |
Append the name of this saver type to the key. | |
virtual string | key [get, set] |
Save data under this key. | |
string | _internalKeyValue [get, set] |
Accesses the internal key value. | |
virtual bool | saveAcrossSceneChanges [get, set] |
Save when changing scenes to be able to restore saved state when returning to scene. | |
virtual bool | restoreStateOnStart [get, set] |
![]() |
Additional Inherited Members | |
![]() | |
QuestParameterDelegate | questAdded = delegate { } |
Raised when a quest is added to the list. | |
QuestParameterDelegate | questRemoved = delegate { } |
Raised when a quest is removed from the list. | |
QuestParameterDelegate | questBecameOfferable = delegate { } |
Raised when a quest in the list becomes offerable. | |
QuestParameterDelegate | questStateChanged = delegate { } |
Raised when the state of a quest in the list changes. | |
QuestNodeParameterDelegate | questNodeStateChanged = delegate { } |
Raised when the state of a quest node in a quest in the list changes. | |
A GameObject that can offer quests.
Adds a quest to this quest giver's list.
quest |
Reimplemented from PixelCrushers.QuestMachine.QuestListContainer.
|
inlineprotected |
|
inlinevirtual |
Reimplemented from PixelCrushers.Saver.
Reimplemented in PixelCrushers.QuestMachine.ORKSupport.QuestGiverForORK.
|
inlineprotected |
If UI info is unassigned, get it from the quest giver's QuestEntity if present.
|
inlinevirtual |
Deletes a quest from this quest giver's list.
questID |
Reimplemented from PixelCrushers.QuestMachine.QuestListContainer.
|
inlineprotected |
Deletes quests whose maxTimes have been reached.
|
inlinevirtual |
|
inlinevirtual |
Looks for a GameObject tagged Player that has a QuestListContainer.
Failing that, looks for a QuestJournal on any GameObject.
|
inlinevirtual |
Returns the list of quests that this quest giver has given player that.
|
inlinevirtual |
Returns the list of quests that this quest giver has given player that.
|
inlinestatic |
|
inlinevirtual |
Returns the list of quests that this quest giver can currently offer.
|
inlinevirtual |
Returns the list of quests that this quest giver can currently offer.
|
inlinevirtual |
Gives all quests to a quester.
quester | Quester. |
|
inlinevirtual |
Gives all quests to a quester.
questerQuestListContainer | Quester's QuestListContainer. |
|
inlinevirtual |
Gives all quests to a quester.
questerID | ID of quester. |
|
inlinevirtual |
Gives all quests to a quester.
questerID | ID of quester. |
|
inlinevirtual |
Adds an instance of a quest to a quester's list.
If the quest's maxTimes are reached, deletes the quest from the giver. Otherwise starts cooldown timer until it can be given again.
quest | Quest to give to quester. |
questerQuestListContainer | Quester's quest list container. |
|
inlinevirtual |
Adds an instance of a quest to a quester's list.
If the quest's maxTimes are reached, deletes the quest from the giver. Otherwise starts cooldown timer until it can be given again.
quest | Quest to give to quester. |
questerTextInfo | Quester's text info. |
questerQuestListContainer | Quester's quest list container. |
|
inlinevirtual |
Adds an instance of a quest to a quester's list.
If the quest's maxTimes are reached, deletes the quest from the giver. Otherwise starts cooldown timer until it can be given again.
quest | Quest to give to quester. |
questerID | Quester's ID. |
|
inlinevirtual |
Adds an instance of a quest to a quester's list.
If the quest's maxTimes are reached, deletes the quest from the giver. Otherwise starts cooldown timer until it can be given again.
quest | Quest to give to quester. |
questerID | Quester's ID. |
|
inlinevirtual |
|
inlinevirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlinevirtual |
Reimplemented from PixelCrushers.Saver.
Reimplemented in PixelCrushers.QuestMachine.ORKSupport.QuestGiverForORK.
|
inlinevirtual |
Reimplemented from PixelCrushers.QuestMachine.IdentifiableQuestListContainer.
|
inlinevirtual |
Reimplemented from PixelCrushers.QuestMachine.IdentifiableQuestListContainer.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Records which quests are offerable or not in the runtime lists.
|
inlinevirtual |
Records the current offerable and player-assigned quests in the runtime lists.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Records quests in the player's QuestList that were given by this quest giver or active quests for which this quest giver has dialogue content.
|
inlineprotectedvirtual |
Removes completed quests that have no dialogue to offer.
|
inlineprotectedvirtual |
|
inlinevirtual |
Reimplemented from PixelCrushers.Saver.
|
inlinevirtual |
Resets quest giver's quest list to its original list.
Reimplemented from PixelCrushers.QuestMachine.QuestListContainer.
|
inlineprotected |
|
inlinevirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented from PixelCrushers.Saver.
|
inlinevirtual |
|
inlinevirtual |
Starts dialogue with the first GameObject in the scene that's tagged as "Player".
|
inlineprotectedvirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Stops dialogue with the player.
|
protected |
When starting dialogue, show this quest instead of the most relevant quest.
|
getsetprotected |
|
getset |
The UI content to show when the quest giver has more than one active quest.
Shown above the quest list.
|
getsetprotected |
|
getset |
What to show in dialogue when quest givers only have completed quests.
|
getsetprotected |
|
getset |
Frequency in seconds at which to check quest cooldowns in case a quest becomes offerable again and should update the indicator UI.
|
getprotected |
|
getsetprotected |
|
getset |
The UI content to show when the quest giver has no quests to offer.
|
getsetprotected |
|
getset |
The UI content to show when the quest giver has more than one quest to offer.
Shown above the quest list.
|
getsetprotected |
|
getsetprotected |
|
getsetprotected |
|
getset |
The QuestDialogueUI to use when conversing with the player.
|
getset |
The text table to use for tags.