Table of Contents

Class QuestTemplate

Namespace
Uncreated.Warfare.Quests
Assembly
Uncreated.Warfare.dll

Represents data that can be used to generate a quest.

public abstract class QuestTemplate : ITranslationArgument
Inheritance
QuestTemplate
Implements
Derived
Inherited Members
Extension Methods

Constructors

QuestTemplate(IConfiguration, IServiceProvider)

protected QuestTemplate(IConfiguration templateConfig, IServiceProvider serviceProvider)

Parameters

templateConfig IConfiguration
serviceProvider IServiceProvider

Fields

FormatColorQuestAsset

For SDG.Unturned.QuestAsset formatting.

public static readonly SpecialFormat FormatColorQuestAsset

Field Value

SpecialFormat

FormatType

public static readonly SpecialFormat FormatType

Field Value

SpecialFormat

QuestService

protected QuestService QuestService

Field Value

QuestService

Properties

CanBeDailyQuest

If this quest type can be a daily quest.

public bool CanBeDailyQuest { get; set; }

Property Value

bool

Name

The display name of this quest.

public string Name { get; }

Property Value

string

Presets

Pre-defined presets for quest states.

public IReadOnlyList<IQuestPreset> Presets { get; }

Property Value

IReadOnlyList<IQuestPreset>

ResetOnGameEnd

If this quest should be resetted when the game ends.

public bool ResetOnGameEnd { get; set; }

Property Value

bool

Rewards

Rewards for completing the quest.

[JsonIgnore]
public IReadOnlyList<QuestRewardExpression> Rewards { get; }

Property Value

IReadOnlyList<QuestRewardExpression>

SendChatUpdates

If this quest should send updates in chat.

public bool SendChatUpdates { get; set; }

Property Value

bool

ServiceProvider

[JsonIgnore]
public IServiceProvider ServiceProvider { get; }

Property Value

IServiceProvider

Text

Formatted text in the quest text. {0} should always be the progressed variable.

public TranslationList Text { get; }

Property Value

TranslationList

Type

[JsonIgnore]
public Type Type { get; }

Property Value

Type

Methods

CreateState(CancellationToken)

Create a random state.

public abstract UniTask<IQuestState> CreateState(CancellationToken token = default)

Parameters

token CancellationToken

Returns

UniTask<IQuestState>

CreateTracker(IQuestPreset, WarfarePlayer)

Create a quest tracker for this template from a pre-existing preset.

public abstract QuestTracker CreateTracker(IQuestPreset preset, WarfarePlayer player)

Parameters

preset IQuestPreset
player WarfarePlayer

Returns

QuestTracker

InitializeAsync(CancellationToken)

Read this quest template from the configuration it was created with.

public UniTask InitializeAsync(CancellationToken token = default)

Parameters

token CancellationToken

Returns

UniTask

ReadPreset<TPreset>(IConfiguration, CancellationToken)

Read a preset from configuration.

public abstract UniTask<IQuestPreset?> ReadPreset<TPreset>(IConfiguration configuration, CancellationToken token) where TPreset : IQuestPreset

Parameters

configuration IConfiguration
token CancellationToken

Returns

UniTask<IQuestPreset>

Type Parameters

TPreset

ReadReward(IConfiguration, CancellationToken)

Read a reward and it's expression from configuration.

protected virtual UniTask<QuestRewardExpression?> ReadReward(IConfiguration configuration, CancellationToken token)

Parameters

configuration IConfiguration
token CancellationToken

Returns

UniTask<QuestRewardExpression>

ReadStateToPreset(IQuestPreset, IQuestStateConfiguration, CancellationToken)

Read a state to an existing preset.

public abstract UniTask ReadStateToPreset(IQuestPreset preset, IQuestStateConfiguration configuration, CancellationToken token)

Parameters

preset IQuestPreset
configuration IQuestStateConfiguration
token CancellationToken

Returns

UniTask

Translate(ITranslationValueFormatter, in ValueFormatParameters)

Allows objects to define how they're translated in their own definition instead of creating a value converter.

public virtual string Translate(ITranslationValueFormatter formatter, in ValueFormatParameters parameters)

Parameters

formatter ITranslationValueFormatter
parameters ValueFormatParameters

Returns

string

UpdateAsync(IConfiguration, CancellationToken)

Read this quest template from the configuration after it was created originally.

public UniTask UpdateAsync(IConfiguration newConfiguration, CancellationToken token = default)

Parameters

newConfiguration IConfiguration
token CancellationToken

Returns

UniTask