1
0
Fork 0
forked from aly/qstbak
qstbak/Questionable/Questionable.Controller.Conditions/QuestAcceptCondition.cs
2026-08-17 20:29:32 +10:00

34 lines
759 B
C#

using Questionable.Model.Questing;
namespace Questionable.Controller.Conditions;
internal sealed class QuestAcceptCondition : StopCondition
{
private bool _isSession;
public required ElementId QuestId { get; set; }
public override bool IsSession => _isSession;
public override EStopConditionType Type => EStopConditionType.QuestAccept;
public override bool Evaluate(StopEvaluationContext context)
{
return context.AcceptedQuestId?.Equals(QuestId) ?? false;
}
public override string GetDescription()
{
return $"Quest {QuestId} accepted";
}
public static QuestAcceptCondition CreateSession(ElementId questId)
{
return new QuestAcceptCondition
{
QuestId = questId,
_isSession = true,
Mode = EStopConditionMode.Stop
};
}
}