UQuestBlockBase
(UObject)
(UObject)
QuestBlocks are used within QuestGraphs to encapsulate a stage of a quest. Upon completion, QuestBlocks will call an "on complete" event meant to trigger the activation of the next QuestBlock(s) in a QuestGraph. Internally, QuestBlocks are collections of QuestObjectives and evaluate their completion state based on the results of the objectives they contain.
NOTE: QuestBlocks automatically save all data needed for the base class to function. If your QuestBlock requires saving additional information there are two options:
Store the data on the SharedQuestDataObject and handle saving within that class.
Follow the save system guide for saving in derived classes that already implement save and load functionality (QuestBlocks are their own SaveAgent).
The ID assigned to a QuestBlock so it can be referenced by other systems interacting with the quest system.
Text that can be retreived using KGameFrameworkStatics functions to be displayed.
Populate this map with sublevels that the QuestBlock requires to be loaded in order for it to function. The map key is used by the LevelManagerSubsystem to query the QuestBlock for levels it wants to load depending on what levels are being loaded. The FQuestSubLevel holds a soft reference to the level to load as well as a bool to define whether sublevels spawned this way should always be respawned even after completion.
Override this function and call CreateQuestObjective() to populate this quest block with QuestObjectives.
Call this function to spawn QuestObjectives within the QuestBlock.
Call this function on completion of QuestObjectives if the conditions fulfill the requirements for completing the QuestBlock.
This function probably won't ever need to be called since quests can be saved and loaded synchronously at the same time through the game state flow.
This function probably won't ever need to be called since quests can be saved and loaded synchronously at the same time through the game state flow.
Override this function to implement saving additional data unique to a QuestBlock. Always make sure to call the parent function and pass the save game object up the inheritance tree.
Override this function to implement loading additional data unique to a QuestBlock. Always make sure to call the parent function and pass the save game object up the inheritance tree.
Gets the currently loaded KSaveGame object.
A reference to the SharedQuestDataObject runtime object.