45 lines
2.1 KiB
C#
45 lines
2.1 KiB
C#
using System.Runtime.CompilerServices;
|
|
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 ((QuestAcceptCondition)(object)context.AcceptedQuestId)?._200B_206A_200B_200C_206C_200C_200B_206A_202E_206F_202A_206B_202B_206C_202E_200C_202B_206B_202A_202D_206B_206C_206F_206E_206A_206E_202A_206A_206C_200F_206C_200B_206E_200B_200C_200B_206B_200F_206A_206D_202E(QuestId) ?? false;
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
public override string GetDescription()
|
|
{
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 1);
|
|
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-145606806));
|
|
defaultInterpolatedStringHandler.AppendFormatted(QuestId);
|
|
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1158663954));
|
|
return defaultInterpolatedStringHandler.ToStringAndClear();
|
|
}
|
|
|
|
public static QuestAcceptCondition CreateSession(ElementId questId)
|
|
{
|
|
return new QuestAcceptCondition
|
|
{
|
|
QuestId = questId,
|
|
_isSession = true,
|
|
Mode = EStopConditionMode.Stop
|
|
};
|
|
}
|
|
|
|
bool _200B_206A_200B_200C_206C_200C_200B_206A_202E_206F_202A_206B_202B_206C_202E_200C_202B_206B_202A_202D_206B_206C_206F_206E_206A_206E_202A_206A_206C_200F_206C_200B_206E_200B_200C_200B_206B_200F_206A_206D_202E(ElementId P_0)
|
|
{
|
|
return ((ElementId)(object)this).Equals(P_0);
|
|
}
|
|
}
|