Class QuestInstance
Runtime instance of an accepted quest for a character. Holds the template reference, per-objective progress, and lifecycle status.
public class QuestInstance
- Inheritance
-
QuestInstance
- Inherited Members
Constructors
QuestInstance(QuestTemplate)
Constructs a new quest instance from the given template, initializing all objective instances.
public QuestInstance(QuestTemplate template)
Parameters
templateQuestTemplateThe quest template.
QuestInstance(QuestTemplate, QuestStatus, long[])
Constructs a quest instance from a template with pre-existing objective values (for DB load).
public QuestInstance(QuestTemplate template, QuestStatus status, long[] objectiveValues)
Parameters
templateQuestTemplateThe quest template.
statusQuestStatusThe saved status.
objectiveValueslong[]Per-objective current values in template order.
Properties
Objectives
Tracked objective instances with individual progress.
public List<QuestObjectiveInstance> Objectives { get; }
Property Value
Status
Current lifecycle status.
public QuestStatus Status { get; }
Property Value
Template
The quest template that defines this quest.
public QuestTemplate Template { get; }
Property Value
Version
Optimistic concurrency version for database persistence.
public long Version { get; set; }
Property Value
Methods
AreAllObjectivesComplete()
Returns true when every objective in the quest has been completed.
public bool AreAllObjectivesComplete()
Returns
TrySetStatus(QuestStatus)
Transitions the quest to a new status. Invalid transitions are rejected.
public bool TrySetStatus(QuestStatus newStatus)
Parameters
newStatusQuestStatusThe target status.
Returns
- bool
True if the transition was applied.