316 lines
10 KiB
C#
316 lines
10 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using System.Runtime.CompilerServices;
|
|
using Questionable.Model.Questing;
|
|
|
|
namespace Questionable.Model;
|
|
|
|
internal sealed class Quest
|
|
{
|
|
public enum ESource
|
|
{
|
|
Assembly,
|
|
ProjectDirectory,
|
|
UserDirectory
|
|
}
|
|
|
|
[CompilerGenerated]
|
|
private sealed class _003C_003Ec__DisplayClass20_0
|
|
{
|
|
public byte currentSequence;
|
|
|
|
internal bool _003CFindSequence_003Eb__0(QuestSequence seq)
|
|
{
|
|
return _202C_202A_202B_202A_202E_202A_206F_202D_206B_200B_206D_206C_202E_206B_206B_202B_200B_202A_200C_206A_202C_202E_200F_206D_202B_200D_200F_202C_206D_202E_200F_206C_200E_202B_200B_202E_202E_202E_206D_200E_202E(seq) == currentSequence;
|
|
}
|
|
|
|
static byte _202C_202A_202B_202A_202E_202A_206F_202D_206B_200B_206D_206C_202E_206B_206B_202B_200B_202A_200C_206A_202C_202E_200F_206D_202B_200D_200F_202C_206D_202E_200F_206C_200E_202B_200B_202E_202E_202E_206D_200E_202E(QuestSequence P_0)
|
|
{
|
|
return P_0.Sequence;
|
|
}
|
|
}
|
|
|
|
[CompilerGenerated]
|
|
private sealed class _003CAllSteps_003Ed__22 : IEnumerable<(QuestSequence Sequence, int StepId, QuestStep Step)>, IEnumerable, IEnumerator<(QuestSequence Sequence, int StepId, QuestStep Step)>, IEnumerator, IDisposable
|
|
{
|
|
private int _003C_003E1__state;
|
|
|
|
private (QuestSequence Sequence, int StepId, QuestStep Step) _003C_003E2__current;
|
|
|
|
private int _003C_003El__initialThreadId;
|
|
|
|
public Quest _003C_003E4__this;
|
|
|
|
private List<QuestSequence>.Enumerator _003C_003E7__wrap1;
|
|
|
|
private QuestSequence _003Csequence_003E5__3;
|
|
|
|
private int _003Ci_003E5__4;
|
|
|
|
(QuestSequence Sequence, int StepId, QuestStep Step) IEnumerator<(QuestSequence, int, QuestStep)>.Current
|
|
{
|
|
[DebuggerHidden]
|
|
get
|
|
{
|
|
return _003C_003E2__current;
|
|
}
|
|
}
|
|
|
|
object IEnumerator.Current
|
|
{
|
|
[DebuggerHidden]
|
|
get
|
|
{
|
|
return _003C_003E2__current;
|
|
}
|
|
}
|
|
|
|
[DebuggerHidden]
|
|
public _003CAllSteps_003Ed__22(int _003C_003E1__state)
|
|
{
|
|
this._003C_003E1__state = _003C_003E1__state;
|
|
_003C_003El__initialThreadId = _200B_200D_202E_206B_206E_200C_202D_206E_206E_200E_206B_206B_202A_206F_202C_202D_206B_202D_200E_200E_206F_202C_206A_206D_202B_202C_202A_200C_202A_206E_202E_206A_200D_206F_200C_206C_206C_206A_206E_202C_202E();
|
|
}
|
|
|
|
[DebuggerHidden]
|
|
void IDisposable.Dispose()
|
|
{
|
|
int num = _003C_003E1__state;
|
|
int num2 = ((num == -3) ? 529079118 : 529079117);
|
|
while (true)
|
|
{
|
|
int num3 = num2;
|
|
int num4 = 529079116;
|
|
int num5 = num3;
|
|
switch ((num5 | num4) - (num5 & num4))
|
|
{
|
|
default:
|
|
continue;
|
|
case 0:
|
|
num2 = 529079117;
|
|
continue;
|
|
case 1:
|
|
if (num == 1)
|
|
{
|
|
num2 = 529079118;
|
|
continue;
|
|
}
|
|
break;
|
|
case 2:
|
|
try
|
|
{
|
|
}
|
|
finally
|
|
{
|
|
_003C_003Em__Finally1();
|
|
}
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
_003C_003E7__wrap1 = default(List<QuestSequence>.Enumerator);
|
|
_003Csequence_003E5__3 = null;
|
|
_003C_003E1__state = -2;
|
|
}
|
|
|
|
private bool MoveNext()
|
|
{
|
|
try
|
|
{
|
|
int num = _003C_003E1__state;
|
|
Quest quest = _003C_003E4__this;
|
|
int num2 = ((num == 0) ? 1702961478 : 1702961473);
|
|
while (true)
|
|
{
|
|
int num3 = num2;
|
|
int num4 = 1702961479;
|
|
int num5 = num3;
|
|
int num6 = num5 + num4;
|
|
int num7 = num5 & num4;
|
|
switch (num6 - (num7 + num7))
|
|
{
|
|
case 3:
|
|
return false;
|
|
case 6:
|
|
num2 = ((num == 1) ? 1702961487 : 1702961476);
|
|
break;
|
|
case 5:
|
|
_003Csequence_003E5__3 = null;
|
|
num2 = 1702961472;
|
|
break;
|
|
case 7:
|
|
num2 = (_003C_003E7__wrap1.MoveNext() ? 1702961479 : 1702961475);
|
|
break;
|
|
case 9:
|
|
{
|
|
QuestStep item = _200E_202C_202A_206A_202A_200E_202B_200D_206B_206D_202B_200D_202A_206C_206C_202D_206A_200C_202C_206D_206E_206C_206B_206C_206E_202B_206C_206D_206F_200B_200E_206C_202B_206A_206A_202A_202A_206C_200C_206A_202E(_003Csequence_003E5__3)[_003Ci_003E5__4];
|
|
_003C_003E2__current = (Sequence: _003Csequence_003E5__3, StepId: _003Ci_003E5__4, Step: item);
|
|
_003C_003E1__state = 1;
|
|
return true;
|
|
}
|
|
case 2:
|
|
num2 = ((_003Ci_003E5__4 < _200E_202C_202A_206A_202A_200E_202B_200D_206B_206D_202B_200D_202A_206C_206C_202D_206A_200C_202C_206D_206E_206C_206B_206C_206E_202B_206C_206D_206F_200B_200E_206C_202B_206A_206A_202A_202A_206C_200C_206A_202E(_003Csequence_003E5__3).Count) ? 1702961486 : 1702961474);
|
|
break;
|
|
case 0:
|
|
_003Csequence_003E5__3 = _003C_003E7__wrap1.Current;
|
|
_003Ci_003E5__4 = 0;
|
|
num2 = 1702961477;
|
|
break;
|
|
case 10:
|
|
num2 = 1702961473;
|
|
break;
|
|
case 1:
|
|
_003C_003E1__state = -1;
|
|
_003C_003E7__wrap1 = _202E_202A_206D_202E_200B_200F_200B_206A_206D_202E_202B_202A_200B_200D_202C_202C_200D_202D_202C_206F_200E_202C_200E_206D_202C_202A_206F_206E_202A_206E_202D_200C_200C_200D_200C_206E_200D_202E_206C_206E_202E(quest.Root).GetEnumerator();
|
|
_003C_003E1__state = -3;
|
|
num2 = 1702961472;
|
|
break;
|
|
case 8:
|
|
{
|
|
_003C_003E1__state = -3;
|
|
int num8 = _003Ci_003E5__4;
|
|
num4 = 1;
|
|
num5 = num8;
|
|
int num9 = num5 ^ num4;
|
|
int num10 = num5 & num4;
|
|
int num11 = num9 + (num10 + num10);
|
|
_003Ci_003E5__4 = num11;
|
|
num2 = 1702961477;
|
|
break;
|
|
}
|
|
case 4:
|
|
_003C_003Em__Finally1();
|
|
_003C_003E7__wrap1 = default(List<QuestSequence>.Enumerator);
|
|
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;
|
|
((IDisposable)_003C_003E7__wrap1/*cast due to .constrained prefix*/).Dispose();
|
|
}
|
|
|
|
[DebuggerHidden]
|
|
void IEnumerator.Reset()
|
|
{
|
|
throw _202A_206B_200E_202E_206B_206B_206C_202E_200F_200D_200C_206F_200C_206E_202E_200F_200D_202E_200D_206E_206F_202A_202D_202A_206D_202C_206F_206A_202D_206F_206C_200D_200B_202B_202E_206D_202B_206B_206F_206B_202E();
|
|
}
|
|
|
|
[DebuggerHidden]
|
|
IEnumerator<(QuestSequence Sequence, int StepId, QuestStep Step)> IEnumerable<(QuestSequence, int, QuestStep)>.GetEnumerator()
|
|
{
|
|
int num = ((_003C_003E1__state != -2) ? 329781790 : 329781784);
|
|
_003CAllSteps_003Ed__22 result = default(_003CAllSteps_003Ed__22);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 329781788;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 3:
|
|
return result;
|
|
case 2:
|
|
result = new _003CAllSteps_003Ed__22(0)
|
|
{
|
|
_003C_003E4__this = _003C_003E4__this
|
|
};
|
|
num = 329781791;
|
|
break;
|
|
case 0:
|
|
num = 329781784;
|
|
break;
|
|
case 4:
|
|
num = ((_003C_003El__initialThreadId != _200B_200D_202E_206B_206E_200C_202D_206E_206E_200E_206B_206B_202A_206F_202C_202D_206B_202D_200E_200E_206F_202C_206A_206D_202B_202C_202A_200C_202A_206E_202E_206A_200D_206F_200C_206C_206C_206A_206E_202C_202E()) ? 329781790 : 329781789);
|
|
break;
|
|
case 1:
|
|
_003C_003E1__state = 0;
|
|
result = this;
|
|
num = 329781791;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
[DebuggerHidden]
|
|
IEnumerator IEnumerable.GetEnumerator()
|
|
{
|
|
return ((IEnumerable<(QuestSequence, int, QuestStep)>)this).GetEnumerator();
|
|
}
|
|
|
|
static int _200B_200D_202E_206B_206E_200C_202D_206E_206E_200E_206B_206B_202A_206F_202C_202D_206B_202D_200E_200E_206F_202C_206A_206D_202B_202C_202A_200C_202A_206E_202E_206A_200D_206F_200C_206C_206C_206A_206E_202C_202E()
|
|
{
|
|
return Environment.CurrentManagedThreadId;
|
|
}
|
|
|
|
static List<QuestSequence> _202E_202A_206D_202E_200B_200F_200B_206A_206D_202E_202B_202A_200B_200D_202C_202C_200D_202D_202C_206F_200E_202C_200E_206D_202C_202A_206F_206E_202A_206E_202D_200C_200C_200D_200C_206E_200D_202E_206C_206E_202E(QuestRoot P_0)
|
|
{
|
|
return P_0.QuestSequence;
|
|
}
|
|
|
|
static List<QuestStep> _200E_202C_202A_206A_202A_200E_202B_200D_206B_206D_202B_200D_202A_206C_206C_202D_206A_200C_202C_206D_206E_206C_206B_206C_206E_202B_206C_206D_206F_200B_200E_206C_202B_206A_206A_202A_202A_206C_200C_206A_202E(QuestSequence P_0)
|
|
{
|
|
return P_0.Steps;
|
|
}
|
|
|
|
static NotSupportedException _202A_206B_200E_202E_206B_206B_206C_202E_200F_200D_200C_206F_200C_206E_202E_200F_200D_202E_200D_206E_206F_202A_202D_202A_206D_202C_206F_206A_202D_206F_206C_200D_200B_202B_202E_206D_202B_206B_206F_206B_202E()
|
|
{
|
|
return new NotSupportedException();
|
|
}
|
|
}
|
|
|
|
public required ElementId Id { get; init; }
|
|
|
|
public required QuestRoot Root { get; init; }
|
|
|
|
public required IQuestInfo Info { get; init; }
|
|
|
|
public required ESource Source { get; init; }
|
|
|
|
public string? SourcePath { get; init; }
|
|
|
|
public QuestSequence? FindSequence(byte currentSequence)
|
|
{
|
|
return _206A_206C_206A_200B_200F_206F_206C_200F_206C_200C_200C_206F_200F_206B_200F_202D_206A_200D_206C_206E_206D_200C_200D_202B_202B_200B_206C_202D_202A_206F_206F_200E_206D_200D_202E_202A_202C_200F_200D_200F_202E(Root).FirstOrDefault((QuestSequence seq) => _003C_003Ec__DisplayClass20_0._202C_202A_202B_202A_202E_202A_206F_202D_206B_200B_206D_206C_202E_206B_206B_202B_200B_202A_200C_206A_202C_202E_200F_206D_202B_200D_200F_202C_206D_202E_200F_206C_200E_202B_200B_202E_202E_202E_206D_200E_202E(seq) == currentSequence);
|
|
}
|
|
|
|
public IEnumerable<QuestSequence> AllSequences()
|
|
{
|
|
return _206A_206C_206A_200B_200F_206F_206C_200F_206C_200C_200C_206F_200F_206B_200F_202D_206A_200D_206C_206E_206D_200C_200D_202B_202B_200B_206C_202D_202A_206F_206F_200E_206D_200D_202E_202A_202C_200F_200D_200F_202E(Root);
|
|
}
|
|
|
|
[IteratorStateMachine(typeof(_003CAllSteps_003Ed__22))]
|
|
public IEnumerable<(QuestSequence Sequence, int StepId, QuestStep Step)> AllSteps()
|
|
{
|
|
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
|
|
return new _003CAllSteps_003Ed__22(-2)
|
|
{
|
|
_003C_003E4__this = this
|
|
};
|
|
}
|
|
|
|
static List<QuestSequence> _206A_206C_206A_200B_200F_206F_206C_200F_206C_200C_200C_206F_200F_206B_200F_202D_206A_200D_206C_206E_206D_200C_200D_202B_202B_200B_206C_202D_202A_206F_206F_200E_206D_200D_202E_202A_202C_200F_200D_200F_202E(QuestRoot P_0)
|
|
{
|
|
return P_0.QuestSequence;
|
|
}
|
|
}
|