muffin v7.5.6

This commit is contained in:
alydev 2026-08-17 20:27:25 +10:00
parent 6266f9e6b7
commit addf2d530f
619 changed files with 264792 additions and 446022 deletions

View file

@ -1,5 +1,10 @@
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;
@ -7,55 +12,476 @@ namespace Questionable.Validation.Validators;
internal sealed class LandingZoneValidator : IQuestValidator
{
public IEnumerable<ValidationIssue> Validate(Quest quest)
[Serializable]
[CompilerGenerated]
private sealed class _003C_003Ec
{
foreach (var stepInfo in quest.AllSteps().Where<(QuestSequence, int, QuestStep)>(delegate((QuestSequence Sequence, int StepId, QuestStep Step) x)
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<LandingZone> landingZones = x.Step.LandingZones;
return landingZones != null && landingZones.Count > 0;
}))
{
for (int z = 0; z < stepInfo.Item3.LandingZones.Count; z++)
List<LandingZone> 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)
{
LandingZone zone = stepInfo.Item3.LandingZones[z];
if (zone.Vertices.Count < 3)
int num2 = num;
int num3 = 293008773;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
yield return new ValidationIssue
{
ElementId = quest.Id,
Sequence = stepInfo.Item1.Sequence,
Step = stepInfo.Item2,
Type = EIssueType.InvalidLandingZone,
Severity = EIssueSeverity.Error,
Description = $"Landing zone {z} has fewer than 3 vertices"
};
case 1:
return false;
case 2:
return list.Count > 0;
case 0:
goto IL_0059;
}
continue;
IL_0059:
num = 293008775;
}
}
static List<LandingZone> _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<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;
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<ValidationIssue>.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;
}
if (!LandingZoneMath.IsConvex(zone.Vertices))
{
yield return new ValidationIssue
case 0:
num2 = -301580918;
continue;
case 2:
num4 = 1;
num5 = num;
if ((uint)(~(~num5 + num4)) <= 2u)
{
ElementId = quest.Id,
Sequence = stepInfo.Item1.Sequence,
Step = stepInfo.Item2,
Type = EIssueType.InvalidLandingZone,
Severity = EIssueSeverity.Error,
Description = $"Landing zone {z} is not convex"
};
}
if (LandingZoneMath.CalculatePolygonArea(zone.Vertices) < 0.01f)
{
yield return new ValidationIssue
num2 = -301580919;
continue;
}
break;
case 1:
try
{
ElementId = quest.Id,
Sequence = stepInfo.Item1.Sequence,
Step = stepInfo.Item2,
Type = EIssueType.InvalidLandingZone,
Severity = EIssueSeverity.Error,
Description = $"Landing zone {z} has zero area (collinear vertices)"
};
}
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<string>(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<string>(-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<string>(-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<string>(-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<string>(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<string>(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<Vector3>)_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<Vector3>)_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<LandingZone> 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<ValidationIssue> IEnumerable<ValidationIssue>.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<ValidationIssue>)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<LandingZone> _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<Vector3> _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<Vector3> 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<Vector3> 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<ValidationIssue> Validate(Quest quest)
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new _003CValidate_003Ed__0(-2)
{
_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);
}
}