353 lines
13 KiB
C#
353 lines
13 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using System.Runtime.CompilerServices;
|
|
using Lumina.Text.ReadOnly;
|
|
using Questionable.Functions;
|
|
using Questionable.Model;
|
|
using Questionable.Model.Questing;
|
|
|
|
namespace Questionable.Validation.Validators;
|
|
|
|
internal sealed class SayValidator : IQuestValidator
|
|
{
|
|
[Serializable]
|
|
[CompilerGenerated]
|
|
private sealed class _003C_003Ec
|
|
{
|
|
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
|
|
|
|
public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), bool> _003C_003E9__2_0;
|
|
|
|
internal bool _003CValidate_003Eb__2_0((QuestSequence Sequence, int StepId, QuestStep Step) x)
|
|
{
|
|
return _206B_200C_206E_200C_200F_206F_200E_202E_206D_206F_200B_206B_206F_202C_200B_200B_206D_206E_206E_202A_200C_202B_206C_202B_200C_200F_202D_206F_206A_200F_206F_202A_202A_202B_200D_206C_200B_206C_200B_206F_202E(x.Step) == EInteractionType.Say;
|
|
}
|
|
|
|
static EInteractionType _206B_200C_206E_200C_200F_206F_200E_202E_206D_206F_200B_206B_206F_202C_200B_200B_206D_206E_206E_202A_200C_202B_206C_202B_200C_200F_202D_206F_206A_200F_206F_202A_202A_202B_200D_206C_200B_206C_200B_206F_202E(QuestStep P_0)
|
|
{
|
|
return P_0.InteractionType;
|
|
}
|
|
}
|
|
|
|
[CompilerGenerated]
|
|
private sealed class _003CValidate_003Ed__2 : IEnumerable<ValidationIssue>, IEnumerable, IEnumerator<ValidationIssue>, IEnumerator, IDisposable
|
|
{
|
|
private int _003C_003E1__state;
|
|
|
|
private ValidationIssue _003C_003E2__current;
|
|
|
|
private int _003C_003El__initialThreadId;
|
|
|
|
private Quest quest;
|
|
|
|
public Quest _003C_003E3__quest;
|
|
|
|
public SayValidator _003C_003E4__this;
|
|
|
|
private IEnumerator<(QuestSequence Sequence, int StepId, QuestStep Step)> _003C_003E7__wrap1;
|
|
|
|
ValidationIssue IEnumerator<ValidationIssue>.Current
|
|
{
|
|
[DebuggerHidden]
|
|
get
|
|
{
|
|
return _003C_003E2__current;
|
|
}
|
|
}
|
|
|
|
object IEnumerator.Current
|
|
{
|
|
[DebuggerHidden]
|
|
get
|
|
{
|
|
return _003C_003E2__current;
|
|
}
|
|
}
|
|
|
|
[DebuggerHidden]
|
|
public _003CValidate_003Ed__2(int _003C_003E1__state)
|
|
{
|
|
this._003C_003E1__state = _003C_003E1__state;
|
|
_003C_003El__initialThreadId = _202D_206C_206C_200B_206C_200B_206A_206E_206F_206A_200B_206E_206E_206D_200D_206B_200C_206E_206C_206C_206F_206E_202A_200E_202D_206F_202E_202A_202C_202E_200B_200F_202B_200D_200B_202D_206A_202D_200F_200F_202E();
|
|
}
|
|
|
|
[DebuggerHidden]
|
|
void IDisposable.Dispose()
|
|
{
|
|
int num = _003C_003E1__state;
|
|
int num2 = ((num == -3) ? 413952866 : 413952865);
|
|
while (true)
|
|
{
|
|
int num3 = num2;
|
|
int num4 = 413952867;
|
|
int num5 = num3;
|
|
switch ((num5 | num4) - (num5 & num4))
|
|
{
|
|
default:
|
|
continue;
|
|
case 0:
|
|
num2 = 413952865;
|
|
continue;
|
|
case 2:
|
|
if (num == 1)
|
|
{
|
|
num2 = 413952866;
|
|
continue;
|
|
}
|
|
break;
|
|
case 1:
|
|
try
|
|
{
|
|
}
|
|
finally
|
|
{
|
|
_003C_003Em__Finally1();
|
|
}
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
_003C_003E7__wrap1 = null;
|
|
_003C_003E1__state = -2;
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private bool MoveNext()
|
|
{
|
|
try
|
|
{
|
|
int num = _003C_003E1__state;
|
|
SayValidator sayValidator = _003C_003E4__this;
|
|
int num2 = ((num == 0) ? (-1358153620) : (-1358153627));
|
|
(QuestSequence, int, QuestStep) current = default((QuestSequence, int, QuestStep));
|
|
ChatMessage chatMessage = default(ChatMessage);
|
|
ReadOnlySeString? rawDialogueText = default(ReadOnlySeString?);
|
|
while (true)
|
|
{
|
|
int num3 = num2;
|
|
int num4 = -1358153628;
|
|
int num5 = num3;
|
|
switch ((num5 | num4) - (num5 & num4))
|
|
{
|
|
case 2:
|
|
current = _003C_003E7__wrap1.Current;
|
|
chatMessage = _206E_206C_200D_202A_206C_200C_206E_200F_200E_200F_206B_200D_206A_202D_206C_202D_202A_206E_202C_206C_200E_206A_200E_202A_202D_202E_206E_200F_202E_206C_200E_206B_206E_202E_206A_202A_200F_206B_202C_206F_202E(current.Item3);
|
|
num2 = ((chatMessage == null) ? (-1358153619) : (-1358153632));
|
|
break;
|
|
case 4:
|
|
rawDialogueText = sayValidator._excelFunctions.GetRawDialogueText(quest, _206A_202A_200B_202C_202A_206A_200E_206F_206F_200D_206C_200C_202A_206F_202C_206B_206B_202C_200F_202A_206C_206F_202E_200D_200C_200E_200F_206A_206C_202C_206A_200C_206E_200C_206F_200B_200F_200B_206C_206C_202E(chatMessage), _200E_206C_200C_202D_200C_200E_200D_200E_202A_200C_206A_200E_202A_206A_206B_200E_206C_202C_200D_206D_202B_202C_200F_206B_206B_202D_202D_202B_206C_206B_200D_200F_200E_200F_200F_200B_202A_200E_202D_206E_202E(chatMessage));
|
|
num2 = ((!rawDialogueText.HasValue) ? (-1358153619) : (-1358153629));
|
|
break;
|
|
case 5:
|
|
{
|
|
ValidationIssue obj = new ValidationIssue
|
|
{
|
|
PathType = EPathType.Quest,
|
|
Id = _200D_202C_202B_200E_206B_206D_200D_206A_200B_206B_206A_206D_202C_206C_206D_200E_200F_200C_200B_202A_202A_200F_206B_206A_206F_206F_200E_202E_206F_202A_200D_202D_206D_200B_206D_200B_206C_202B_200B_206F_202E((object)quest.Id),
|
|
Location = SchemaValidationHelper.FormatQuestLocation(_206E_202E_206F_202C_200B_200D_202A_206A_206B_206E_206D_200D_200D_200C_202E_202C_202B_200E_206D_200D_202E_206B_202E_202A_200C_200B_206D_200F_206D_206F_206B_206A_202D_206E_202E_206B_206A_206E_202E_206A_202E(current.Item1), current.Item2),
|
|
Type = EIssueType.InvalidChatMessage,
|
|
Severity = EIssueSeverity.Error
|
|
};
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(22, 1);
|
|
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1570396042));
|
|
defaultInterpolatedStringHandler.AppendFormatted(rawDialogueText.Value);
|
|
obj.Description = defaultInterpolatedStringHandler.ToStringAndClear();
|
|
_003C_003E2__current = obj;
|
|
_003C_003E1__state = 1;
|
|
return true;
|
|
}
|
|
case 1:
|
|
num2 = ((num == 1) ? (-1358153618) : (-1358153625));
|
|
break;
|
|
case 9:
|
|
num2 = (_200E_206A_202C_206B_200C_206E_200E_202E_206B_206A_206F_206B_202A_202B_206E_202C_202B_200F_206D_206E_206A_206A_202A_206F_206A_206D_200B_200B_200B_202C_200B_206F_202D_206A_202C_206C_202B_206F_206C_202D_202E((IEnumerator)_003C_003E7__wrap1) ? (-1358153626) : (-1358153628));
|
|
break;
|
|
case 8:
|
|
_003C_003E1__state = -1;
|
|
_003C_003E7__wrap1 = (from x in quest.AllSteps()
|
|
where _003C_003Ec._206B_200C_206E_200C_200F_206F_200E_202E_206D_206F_200B_206B_206F_202C_200B_200B_206D_206E_206E_202A_200C_202B_206C_202B_200C_200F_202D_206F_206A_200F_206F_202A_202A_202B_200D_206C_200B_206C_200B_206F_202E(x.Step) == EInteractionType.Say
|
|
select x).GetEnumerator();
|
|
_003C_003E1__state = -3;
|
|
num2 = -1358153619;
|
|
break;
|
|
case 3:
|
|
return false;
|
|
case 7:
|
|
num2 = ((rawDialogueText.Value.PayloadCount == 1) ? (-1358153619) : (-1358153631));
|
|
break;
|
|
case 6:
|
|
num2 = -1358153627;
|
|
break;
|
|
case 10:
|
|
_003C_003E1__state = -3;
|
|
num2 = -1358153619;
|
|
break;
|
|
case 0:
|
|
_003C_003Em__Finally1();
|
|
_003C_003E7__wrap1 = null;
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
//try-fault
|
|
((IDisposable)this).Dispose();
|
|
throw;
|
|
}
|
|
}
|
|
|
|
bool IEnumerator.MoveNext()
|
|
{
|
|
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
|
|
return this.MoveNext();
|
|
}
|
|
|
|
private void _003C_003Em__Finally1()
|
|
{
|
|
_003C_003E1__state = -1;
|
|
int num = ((_003C_003E7__wrap1 == null) ? 859629855 : 859629852);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 859629854;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 1:
|
|
return;
|
|
case 2:
|
|
_200C_206D_206F_200C_206C_200E_202D_206F_206F_206B_206A_206E_206A_202B_202A_206A_202B_200E_206C_202A_202D_200B_206F_202B_202D_202C_200D_206E_206C_200D_202B_200B_206A_206D_200C_200B_200B_202B_206D_206B_202E((IDisposable)_003C_003E7__wrap1);
|
|
num = 859629855;
|
|
break;
|
|
case 0:
|
|
num = 859629852;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
[DebuggerHidden]
|
|
void IEnumerator.Reset()
|
|
{
|
|
throw _200F_202B_206B_206C_206F_200F_206D_202D_206A_200F_206A_206D_206B_200E_200F_200F_200C_200F_202A_202B_200F_202D_200D_206D_206B_202E_202E_206A_206F_206E_200B_206D_200E_200F_206A_200F_206F_202A_202D_200C_202E();
|
|
}
|
|
|
|
[DebuggerHidden]
|
|
IEnumerator<ValidationIssue> IEnumerable<ValidationIssue>.GetEnumerator()
|
|
{
|
|
int num = ((_003C_003E1__state != -2) ? 847025892 : 847025894);
|
|
_003CValidate_003Ed__2 _003CValidate_003Ed__ = default(_003CValidate_003Ed__2);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 847025893;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 4:
|
|
num = 847025894;
|
|
break;
|
|
case 3:
|
|
num = ((_003C_003El__initialThreadId != _202D_206C_206C_200B_206C_200B_206A_206E_206F_206A_200B_206E_206E_206D_200D_206B_200C_206E_206C_206C_206F_206E_202A_200E_202D_206F_202E_202A_202C_202E_200B_200F_202B_200D_200B_202D_206A_202D_200F_200F_202E()) ? 847025892 : 847025895);
|
|
break;
|
|
case 1:
|
|
_003CValidate_003Ed__ = new _003CValidate_003Ed__2(0)
|
|
{
|
|
_003C_003E4__this = _003C_003E4__this
|
|
};
|
|
num = 847025893;
|
|
break;
|
|
case 0:
|
|
_003CValidate_003Ed__.quest = _003C_003E3__quest;
|
|
return _003CValidate_003Ed__;
|
|
case 2:
|
|
_003C_003E1__state = 0;
|
|
_003CValidate_003Ed__ = this;
|
|
num = 847025893;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
[DebuggerHidden]
|
|
IEnumerator IEnumerable.GetEnumerator()
|
|
{
|
|
return ((IEnumerable<ValidationIssue>)this).GetEnumerator();
|
|
}
|
|
|
|
static int _202D_206C_206C_200B_206C_200B_206A_206E_206F_206A_200B_206E_206E_206D_200D_206B_200C_206E_206C_206C_206F_206E_202A_200E_202D_206F_202E_202A_202C_202E_200B_200F_202B_200D_200B_202D_206A_202D_200F_200F_202E()
|
|
{
|
|
return Environment.CurrentManagedThreadId;
|
|
}
|
|
|
|
static ChatMessage _206E_206C_200D_202A_206C_200C_206E_200F_200E_200F_206B_200D_206A_202D_206C_202D_202A_206E_202C_206C_200E_206A_200E_202A_202D_202E_206E_200F_202E_206C_200E_206B_206E_202E_206A_202A_200F_206B_202C_206F_202E(QuestStep P_0)
|
|
{
|
|
return P_0.ChatMessage;
|
|
}
|
|
|
|
static string _206A_202A_200B_202C_202A_206A_200E_206F_206F_200D_206C_200C_202A_206F_202C_206B_206B_202C_200F_202A_206C_206F_202E_200D_200C_200E_200F_206A_206C_202C_206A_200C_206E_200C_206F_200B_200F_200B_206C_206C_202E(ChatMessage P_0)
|
|
{
|
|
return P_0.ExcelSheet;
|
|
}
|
|
|
|
static string _200E_206C_200C_202D_200C_200E_200D_200E_202A_200C_206A_200E_202A_206A_206B_200E_206C_202C_200D_206D_202B_202C_200F_206B_206B_202D_202D_202B_206C_206B_200D_200F_200E_200F_200F_200B_202A_200E_202D_206E_202E(ChatMessage P_0)
|
|
{
|
|
return P_0.Key;
|
|
}
|
|
|
|
static string _200D_202C_202B_200E_206B_206D_200D_206A_200B_206B_206A_206D_202C_206C_206D_200E_200F_200C_200B_202A_202A_200F_206B_206A_206F_206F_200E_202E_206F_202A_200D_202D_206D_200B_206D_200B_206C_202B_200B_206F_202E(object P_0)
|
|
{
|
|
return P_0.ToString();
|
|
}
|
|
|
|
static byte _206E_202E_206F_202C_200B_200D_202A_206A_206B_206E_206D_200D_200D_200C_202E_202C_202B_200E_206D_200D_202E_206B_202E_202A_200C_200B_206D_200F_206D_206F_206B_206A_202D_206E_202E_206B_206A_206E_202E_206A_202E(QuestSequence P_0)
|
|
{
|
|
return P_0.Sequence;
|
|
}
|
|
|
|
static bool _200E_206A_202C_206B_200C_206E_200E_202E_206B_206A_206F_206B_202A_202B_206E_202C_202B_200F_206D_206E_206A_206A_202A_206F_206A_206D_200B_200B_200B_202C_200B_206F_202D_206A_202C_206C_202B_206F_206C_202D_202E(IEnumerator P_0)
|
|
{
|
|
return P_0.MoveNext();
|
|
}
|
|
|
|
static void _200C_206D_206F_200C_206C_200E_202D_206F_206F_206B_206A_206E_206A_202B_202A_206A_202B_200E_206C_202A_202D_200B_206F_202B_202D_202C_200D_206E_206C_200D_202B_200B_206A_206D_200C_200B_200B_202B_206D_206B_202E(IDisposable P_0)
|
|
{
|
|
P_0.Dispose();
|
|
}
|
|
|
|
static NotSupportedException _200F_202B_206B_206C_206F_200F_206D_202D_206A_200F_206A_206D_206B_200E_200F_200F_200C_200F_202A_202B_200F_202D_200D_206D_206B_202E_202E_206A_206F_206E_200B_206D_200E_200F_206A_200F_206F_202A_202D_200C_202E()
|
|
{
|
|
return new NotSupportedException();
|
|
}
|
|
}
|
|
|
|
private readonly ExcelFunctions _excelFunctions;
|
|
|
|
public SayValidator(ExcelFunctions excelFunctions)
|
|
{
|
|
_excelFunctions = excelFunctions;
|
|
}
|
|
|
|
[IteratorStateMachine(typeof(_003CValidate_003Ed__2))]
|
|
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
|
{
|
|
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
|
|
return new _003CValidate_003Ed__2(-2)
|
|
{
|
|
_003C_003E4__this = this,
|
|
_003C_003E3__quest = quest
|
|
};
|
|
}
|
|
|
|
IEnumerable<ValidationIssue> IQuestValidator.Validate(Quest quest)
|
|
{
|
|
//ILSpy generated this explicit interface implementation from .override directive in Validate
|
|
return this.Validate(quest);
|
|
}
|
|
}
|