using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Numerics; using System.Runtime.CompilerServices; using Questionable.Model; using Questionable.Model.Questing; namespace Questionable.Validation.Validators; internal sealed class LandingZoneValidator : 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__0_0; internal bool _003CValidate_003Eb__0_0((QuestSequence Sequence, int StepId, QuestStep Step) x) { List list = _200D_202B_206F_200E_202E_206A_202A_206B_200D_206F_200C_202D_200F_202D_206E_202D_202E_202C_206D_202B_202B_200C_202D_202E_206E_206E_206F_202A_200B_202C_206B_200F_206D_200E_202E_202C_200C_202E_206B_206A_202E(x.Step); int num = ((list == null) ? 293008772 : 293008775); while (true) { int num2 = num; int num3 = 293008773; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 1: return false; case 2: return list.Count > 0; case 0: goto IL_0059; } continue; IL_0059: num = 293008775; } } static List _200D_202B_206F_200E_202E_206A_202A_206B_200D_206F_200C_202D_200F_202D_206E_202D_202E_202C_206D_202B_202B_200C_202D_202E_206E_206E_206F_202A_200B_202C_206B_200F_206D_200E_202E_202C_200C_202E_206B_206A_202E(QuestStep P_0) { return P_0.LandingZones; } } [CompilerGenerated] private sealed class _003CValidate_003Ed__0 : IEnumerable, IEnumerable, IEnumerator, 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; private IEnumerator<(QuestSequence Sequence, int StepId, QuestStep Step)> _003C_003E7__wrap1; private (QuestSequence Sequence, int StepId, QuestStep Step) _003CstepInfo_003E5__3; private int _003Cz_003E5__4; private LandingZone _003Czone_003E5__5; ValidationIssue IEnumerator.Current { [DebuggerHidden] get { return _003C_003E2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return _003C_003E2__current; } } [DebuggerHidden] public _003CValidate_003Ed__0(int _003C_003E1__state) { this._003C_003E1__state = _003C_003E1__state; _003C_003El__initialThreadId = _206B_202C_206F_206D_202E_202E_206D_206F_200C_200D_206C_200C_206A_206F_206D_206E_202D_202A_200C_202E_202E_206D_200F_200B_200F_200B_200E_200B_202A_200F_206E_206A_202E_206B_206B_202E_206F_200B_206B_202A_202E(); } [DebuggerHidden] void IDisposable.Dispose() { int num = _003C_003E1__state; int num2 = ((num == -3) ? (-301580919) : (-301580918)); while (true) { int num3 = num2; int num4 = -301580920; int num5 = num3; int num6 = num5 + num4; int num7 = num5 & num4; switch (num6 - (num7 + num7)) { default: continue; case 0: num2 = -301580918; continue; case 2: num4 = 1; num5 = num; if ((uint)(~(~num5 + num4)) <= 2u) { num2 = -301580919; continue; } break; case 1: try { } finally { _003C_003Em__Finally1(); } break; } break; } _003C_003E7__wrap1 = null; _003CstepInfo_003E5__3 = default((QuestSequence, int, QuestStep)); _003Czone_003E5__5 = null; _003C_003E1__state = -2; } [MethodImpl(MethodImplOptions.NoInlining)] private bool MoveNext() { try { int num; switch (_003C_003E1__state) { default: num = 1353765120; goto IL_0029; case 2: _003C_003E1__state = -3; num = 1353765123; goto IL_0029; case 1: goto IL_02fa; case 0: goto IL_0497; case 3: goto IL_04ef; IL_0029: while (true) { int num2 = num; int num3 = 1353765133; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 15: num = 1353765120; break; case 14: goto IL_00a1; case 7: goto IL_00d3; case 11: goto IL_0100; case 5: _003CstepInfo_003E5__3 = _003C_003E7__wrap1.Current; _003Cz_003E5__4 = 0; num = 1353765151; break; case 2: { int num5 = _003Cz_003E5__4; num3 = 1; num4 = num5; _003Cz_003E5__4 = (num4 | num3) + (num4 & num3); num = 1353765151; break; } case 18: goto IL_0178; case 0: goto IL_01b0; case 6: _003CstepInfo_003E5__3 = default((QuestSequence, int, QuestStep)); num = 1353765126; break; case 9: goto end_IL_0029; case 1: _003Czone_003E5__5 = null; num = 1353765135; break; case 3: { ValidationIssue obj3 = new ValidationIssue { ElementId = quest.Id, Sequence = _200B_202B_202B_206D_206D_200C_202E_206A_200B_206F_206A_206C_202B_202D_200C_200C_206F_200C_206D_200B_200E_200D_202A_206D_202B_202A_200C_206B_206A_202B_200F_206E_200C_206B_200D_206F_206B_206F_202A_202B_202E(_003CstepInfo_003E5__3.Sequence), Step = _003CstepInfo_003E5__3.StepId, Type = EIssueType.InvalidLandingZone, Severity = EIssueSeverity.Error }; DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(48, 1); defaultInterpolatedStringHandler3.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(763106568)); defaultInterpolatedStringHandler3.AppendFormatted(_003Cz_003E5__4); defaultInterpolatedStringHandler3.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(-317713008)); obj3.Description = defaultInterpolatedStringHandler3.ToStringAndClear(); _003C_003E2__current = obj3; _003C_003E1__state = 3; return true; } case 10: goto IL_02fa; case 13: return false; case 17: { ValidationIssue obj2 = new ValidationIssue { ElementId = quest.Id, Sequence = _200B_202B_202B_206D_206D_200C_202E_206A_200B_206F_206A_206C_202B_202D_200C_200C_206F_200C_206D_200B_200E_200D_202A_206D_202B_202A_200C_206B_206A_202B_200F_206E_200C_206B_200D_206F_206B_206F_202A_202B_202E(_003CstepInfo_003E5__3.Sequence), Step = _003CstepInfo_003E5__3.StepId, Type = EIssueType.InvalidLandingZone, Severity = EIssueSeverity.Error }; DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(39, 1); defaultInterpolatedStringHandler2.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(-1041108262)); defaultInterpolatedStringHandler2.AppendFormatted(_003Cz_003E5__4); defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E(-1470671526)); obj2.Description = defaultInterpolatedStringHandler2.ToStringAndClear(); _003C_003E2__current = obj2; _003C_003E1__state = 1; return true; } case 16: { ValidationIssue obj = new ValidationIssue { ElementId = quest.Id, Sequence = _200B_202B_202B_206D_206D_200C_202E_206A_200B_206F_206A_206C_202B_202D_200C_200C_206F_200C_206D_200B_200E_200D_202A_206D_202B_202A_200C_206B_206A_202B_200F_206E_200C_206B_200D_206F_206B_206F_202A_202B_202E(_003CstepInfo_003E5__3.Sequence), Step = _003CstepInfo_003E5__3.StepId, Type = EIssueType.InvalidLandingZone, Severity = EIssueSeverity.Error }; DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(27, 1); defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E(430923307)); defaultInterpolatedStringHandler.AppendFormatted(_003Cz_003E5__4); 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(1557501855)); obj.Description = defaultInterpolatedStringHandler.ToStringAndClear(); _003C_003E2__current = obj; _003C_003E1__state = 2; return true; } case 8: goto IL_0497; case 12: goto IL_04ef; case 4: _003C_003Em__Finally1(); _003C_003E7__wrap1 = null; return false; } continue; IL_01b0: _003Czone_003E5__5 = _202E_200C_202A_200B_206B_206C_206A_206D_202B_206C_200C_202E_202A_200E_202B_206A_202D_206E_202D_200B_200F_200E_206B_200C_202A_206A_202B_206C_202D_206C_200F_202C_202B_206B_202B_206C_202C_200B_202E_200C_202E(_003CstepInfo_003E5__3.Step)[_003Cz_003E5__4]; num = ((_206B_200F_200D_202D_202D_206E_202B_206E_206B_200C_200C_206D_206D_202B_206F_202B_206D_200C_202D_200D_206B_202E_200F_206E_202E_206B_206C_200E_200E_206B_200D_202B_206D_206D_206D_206A_206C_206C_206F_202D_202E(_003Czone_003E5__5).Count >= 3) ? 1353765130 : 1353765148); continue; IL_00a1: num = ((!(_200C_202A_206D_202A_206F_200E_200C_206A_202C_202E_202D_206A_206A_206B_200F_202D_202A_200D_206F_202D_200C_200D_200E_206E_200E_200B_202E_200C_202C_206D_200C_200C_200F_200B_202B_200C_206C_202C_202A_206A_202E((IReadOnlyList)_206B_200F_200D_202D_202D_206E_202B_206E_206B_200C_200C_206D_206D_202B_206F_202B_206D_200C_202D_200D_206B_202E_200F_206E_202E_206B_206C_200E_200E_206B_200D_202B_206D_206D_206D_206A_206C_206C_206F_202D_202E(_003Czone_003E5__5)) < 0.01f)) ? 1353765132 : 1353765134); continue; IL_0100: num = (_202B_206E_206E_206C_202A_200C_200C_202D_202B_202D_200E_202C_200D_202A_200C_206C_202A_200D_202C_206A_200D_200D_206B_200D_200E_206F_206A_200D_202C_202A_206D_206E_200D_206E_206B_206C_206E_200D_202A_202A_202E((IEnumerator)_003C_003E7__wrap1) ? 1353765128 : 1353765129); continue; IL_0178: num = ((_003Cz_003E5__4 < _202E_200C_202A_200B_206B_206C_206A_206D_202B_206C_200C_202E_202A_200E_202B_206A_202D_206E_202D_200B_200F_200E_206B_200C_202A_206A_202B_206C_202D_206C_200F_202C_202B_206B_202B_206C_202C_200B_202E_200C_202E(_003CstepInfo_003E5__3.Step).Count) ? 1353765133 : 1353765131); continue; IL_00d3: num = (_206A_206D_200F_202E_202D_202A_202B_206C_206D_202A_202A_202C_200D_206C_206F_206D_200C_200B_206B_200F_202C_206A_200D_206A_206D_202D_202E_206F_206B_202A_202C_200E_200E_206F_202C_202A_200E_202E_200C_202A_202E((IReadOnlyList)_206B_200F_200D_202D_202D_206E_202B_206E_206B_200C_200C_206D_206D_202B_206F_202B_206D_200C_202D_200D_206B_202E_200F_206E_202E_206B_206C_200E_200E_206B_200D_202B_206D_206D_206D_206A_206C_206C_206F_202D_202E(_003Czone_003E5__5)) ? 1353765123 : 1353765149); continue; end_IL_0029: break; } goto case 2; IL_04ef: _003C_003E1__state = -3; num = 1353765132; goto IL_0029; IL_0497: _003C_003E1__state = -1; _003C_003E7__wrap1 = quest.AllSteps().Where<(QuestSequence, int, QuestStep)>(delegate((QuestSequence Sequence, int StepId, QuestStep Step) x) { List list = _003C_003Ec._200D_202B_206F_200E_202E_206A_202A_206B_200D_206F_200C_202D_200F_202D_206E_202D_202E_202C_206D_202B_202B_200C_202D_202E_206E_206E_206F_202A_200B_202C_206B_200F_206D_200E_202E_202C_200C_202E_206B_206A_202E(x.Step); int num6 = ((list == null) ? 293008772 : 293008775); while (true) { int num7 = num6; int num8 = 293008773; int num9 = num7; switch ((num9 | num8) - (num9 & num8)) { case 1: return false; case 2: return list.Count > 0; case 0: goto IL_0059; } continue; IL_0059: num6 = 293008775; } }).GetEnumerator(); _003C_003E1__state = -3; num = 1353765126; goto IL_0029; IL_02fa: _003C_003E1__state = -3; num = 1353765135; goto IL_0029; } } 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) ? 849893968 : 849893971); while (true) { int num2 = num; int num3 = 849893970; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return; case 1: _202B_200B_206D_202B_206E_202A_206A_200D_200E_200F_206C_202A_206D_206D_206C_206F_202D_206F_202D_206B_202A_206F_200F_202A_200E_206F_206E_202D_200B_206D_200E_200F_200C_202D_202D_200F_206B_202E_206E_202C_202E((IDisposable)_003C_003E7__wrap1); num = 849893968; break; case 0: num = 849893971; break; } } } [DebuggerHidden] void IEnumerator.Reset() { throw _200E_202D_200D_200B_202E_206F_206C_206D_206C_206F_206F_206F_202B_202E_202C_206B_206A_206D_202A_206F_206B_202A_202B_200D_202D_200C_202E_202D_202C_200F_202B_200E_206B_200D_206C_200F_202A_202C_206D_202A_202E(); } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { int num = ((_003C_003E1__state != -2) ? 1118277465 : 1118277470); _003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0); while (true) { int num2 = num; int num3 = 1118277469; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: num = 1118277470; break; case 4: _003CValidate_003Ed__ = new _003CValidate_003Ed__0(0); num = 1118277468; break; case 1: _003CValidate_003Ed__.quest = _003C_003E3__quest; return _003CValidate_003Ed__; case 2: _003C_003E1__state = 0; _003CValidate_003Ed__ = this; num = 1118277468; break; case 3: num = ((_003C_003El__initialThreadId != _206B_202C_206F_206D_202E_202E_206D_206F_200C_200D_206C_200C_206A_206F_206D_206E_202D_202A_200C_202E_202E_206D_200F_200B_200F_200B_200E_200B_202A_200F_206E_206A_202E_206B_206B_202E_206F_200B_206B_202A_202E()) ? 1118277465 : 1118277471); break; } } } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable)this).GetEnumerator(); } static int _206B_202C_206F_206D_202E_202E_206D_206F_200C_200D_206C_200C_206A_206F_206D_206E_202D_202A_200C_202E_202E_206D_200F_200B_200F_200B_200E_200B_202A_200F_206E_206A_202E_206B_206B_202E_206F_200B_206B_202A_202E() { return Environment.CurrentManagedThreadId; } static List _202E_200C_202A_200B_206B_206C_206A_206D_202B_206C_200C_202E_202A_200E_202B_206A_202D_206E_202D_200B_200F_200E_206B_200C_202A_206A_202B_206C_202D_206C_200F_202C_202B_206B_202B_206C_202C_200B_202E_200C_202E(QuestStep P_0) { return P_0.LandingZones; } static List _206B_200F_200D_202D_202D_206E_202B_206E_206B_200C_200C_206D_206D_202B_206F_202B_206D_200C_202D_200D_206B_202E_200F_206E_202E_206B_206C_200E_200E_206B_200D_202B_206D_206D_206D_206A_206C_206C_206F_202D_202E(LandingZone P_0) { return P_0.Vertices; } static byte _200B_202B_202B_206D_206D_200C_202E_206A_200B_206F_206A_206C_202B_202D_200C_200C_206F_200C_206D_200B_200E_200D_202A_206D_202B_202A_200C_206B_206A_202B_200F_206E_200C_206B_200D_206F_206B_206F_202A_202B_202E(QuestSequence P_0) { return P_0.Sequence; } static bool _206A_206D_200F_202E_202D_202A_202B_206C_206D_202A_202A_202C_200D_206C_206F_206D_200C_200B_206B_200F_202C_206A_200D_206A_206D_202D_202E_206F_206B_202A_202C_200E_200E_206F_202C_202A_200E_202E_200C_202A_202E(IReadOnlyList P_0) { return LandingZoneMath.IsConvex(P_0); } static float _200C_202A_206D_202A_206F_200E_200C_206A_202C_202E_202D_206A_206A_206B_200F_202D_202A_200D_206F_202D_200C_200D_200E_206E_200E_200B_202E_200C_202C_206D_200C_200C_200F_200B_202B_200C_206C_202C_202A_206A_202E(IReadOnlyList P_0) { return LandingZoneMath.CalculatePolygonArea(P_0); } static bool _202B_206E_206E_206C_202A_200C_200C_202D_202B_202D_200E_202C_200D_202A_200C_206C_202A_200D_202C_206A_200D_200D_206B_200D_200E_206F_206A_200D_202C_202A_206D_206E_200D_206E_206B_206C_206E_200D_202A_202A_202E(IEnumerator P_0) { return P_0.MoveNext(); } static void _202B_200B_206D_202B_206E_202A_206A_200D_200E_200F_206C_202A_206D_206D_206C_206F_202D_206F_202D_206B_202A_206F_200F_202A_200E_206F_206E_202D_200B_206D_200E_200F_200C_202D_202D_200F_206B_202E_206E_202C_202E(IDisposable P_0) { P_0.Dispose(); } static NotSupportedException _200E_202D_200D_200B_202E_206F_206C_206D_206C_206F_206F_206F_202B_202E_202C_206B_206A_206D_202A_206F_206B_202A_202B_200D_202D_200C_202E_202D_202C_200F_202B_200E_206B_200D_206C_200F_202A_202C_206D_202A_202E() { return new NotSupportedException(); } } [IteratorStateMachine(typeof(_003CValidate_003Ed__0))] public IEnumerable Validate(Quest quest) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new _003CValidate_003Ed__0(-2) { _003C_003E3__quest = quest }; } IEnumerable IQuestValidator.Validate(Quest quest) { //ILSpy generated this explicit interface implementation from .override directive in Validate return this.Validate(quest); } }