Table of Contents

Class QuestInstance

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

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

template QuestTemplate

The 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

template QuestTemplate

The quest template.

status QuestStatus

The saved status.

objectiveValues long[]

Per-objective current values in template order.

Properties

Objectives

Tracked objective instances with individual progress.

public List<QuestObjectiveInstance> Objectives { get; }

Property Value

List<QuestObjectiveInstance>

Status

Current lifecycle status.

public QuestStatus Status { get; }

Property Value

QuestStatus

Template

The quest template that defines this quest.

public QuestTemplate Template { get; }

Property Value

QuestTemplate

Version

Optimistic concurrency version for database persistence.

public long Version { get; set; }

Property Value

long

Methods

AreAllObjectivesComplete()

Returns true when every objective in the quest has been completed.

public bool AreAllObjectivesComplete()

Returns

bool

TrySetStatus(QuestStatus)

Transitions the quest to a new status. Invalid transitions are rejected.

public bool TrySetStatus(QuestStatus newStatus)

Parameters

newStatus QuestStatus

The target status.

Returns

bool

True if the transition was applied.