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

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,169 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace SmartNav.Data;
internal sealed record ExitRangeEntry(ushort SourceTerritoryId, uint InstanceId, Vector3 SourcePosition, ushort DestTerritoryId, uint DestInstanceId, uint ReturnInstanceId, Vector3 Rotation = default(Vector3), Vector3 HalfExtents = default(Vector3))
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200F_202B_200D_200E_200B_200B_202A_202A_200E_200B_200B_206D_202B_206B_202D_206D_200B_206D_206F_202C_206A_200D_206D_206D_206E_200E_200B_206A_202E_206C_206C_206C_206A_206D_206C_206B_202D_200E_206A_202C_202E(typeof(ExitRangeEntry).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _200E_206B_200D_206D_206D_200E_200B_206C_200D_202E_202A_202D_202C_202E_206A_206F_200C_202A_202A_200F_200C_200E_202C_206D_202D_206A_206E_206B_200D_200C_202C_206E_206B_206F_202E_200F_202B_200F_206E_202A_202E();
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(347281461));
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-979564187));
int num = ((!PrintMembers(stringBuilder)) ? (-1576777821) : (-1576777824));
while (true)
{
int num2 = num;
int num3 = -1576777823;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = -1576777824;
break;
case 1:
_202C_202B_206D_202E_202C_206C_206D_206B_202D_202B_200F_202B_200B_206A_206B_200F_206C_206D_202B_200D_202C_202A_200B_206B_202B_202D_206E_206E_200C_202B_202B_200E_202C_200B_200D_202A_206E_206E_206E_200E_202E(stringBuilder, ' ');
num = -1576777821;
break;
case 2:
_202C_202B_206D_202E_202C_206C_206D_206B_202D_202B_200F_202B_200B_206A_206B_200F_206C_206D_202B_200D_202C_202A_200B_206B_202B_202D_206E_206E_200C_202B_202B_200E_202C_200B_200D_202A_206E_206E_206E_200E_202E(stringBuilder, '}');
return _202D_206B_206C_200B_202C_206B_200B_200F_200E_206D_200D_202E_202C_200E_202C_206D_200C_206B_206A_206B_202A_202C_206D_202D_206D_206B_202B_200E_200E_206F_200E_206C_206E_206F_206E_202B_206F_200E_206D_202B_202E((object)stringBuilder);
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202C_200C_202A_202D_206B_202B_202D_206D_200D_200C_200C_206A_202B_200C_206A_206E_202B_206D_200E_202A_202D_200F_200B_206F_200B_200F_206E_206E_202B_202D_206C_200E_202A_200C_202E_202D_206B_202A_206A_200E_202E();
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(2044495272));
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, SourceTerritoryId.ToString());
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-1866378227));
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, InstanceId.ToString());
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-135037385));
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, SourcePosition.ToString());
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(1613414786));
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, DestTerritoryId.ToString());
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(1889617405));
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, DestInstanceId.ToString());
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(1625716735));
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, ReturnInstanceId.ToString());
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-2061524224));
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, Rotation.ToString());
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E<string>(-1794994947));
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, HalfExtents.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(ExitRangeEntry? other)
{
int num = (((object)this == other) ? 193782023 : 193782031);
while (true)
{
int num2 = num;
int num3 = 193782030;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 7:
return false;
case 10:
num = ((!EqualityComparer<Vector3>.Default.Equals(SourcePosition, other.SourcePosition)) ? 193782025 : 193782030);
break;
case 2:
num = ((!_202E_202C_206D_206E_202B_202B_202E_202A_200D_200F_206C_206D_200F_200B_200B_206B_200C_200E_202B_206D_202C_200B_202B_206A_206D_200C_202D_202A_202E_206F_202A_200E_206A_206C_200D_202D_202B_202D_200B_202B_202E(EqualityContract, other.EqualityContract)) ? 193782025 : 193782022);
break;
case 5:
num = ((!EqualityComparer<uint>.Default.Equals(ReturnInstanceId, other.ReturnInstanceId)) ? 193782025 : 193782024);
break;
case 1:
num = (((object)other == null) ? 193782025 : 193782028);
break;
case 11:
num = ((!EqualityComparer<uint>.Default.Equals(DestInstanceId, other.DestInstanceId)) ? 193782025 : 193782027);
break;
case 0:
num = ((!EqualityComparer<ushort>.Default.Equals(DestTerritoryId, other.DestTerritoryId)) ? 193782025 : 193782021);
break;
case 12:
return EqualityComparer<Vector3>.Default.Equals(HalfExtents, other.HalfExtents);
case 3:
num = 193782031;
break;
case 8:
num = ((!EqualityComparer<ushort>.Default.Equals(SourceTerritoryId, other.SourceTerritoryId)) ? 193782025 : 193782026);
break;
case 4:
num = ((!EqualityComparer<uint>.Default.Equals(InstanceId, other.InstanceId)) ? 193782025 : 193782020);
break;
case 9:
return true;
case 6:
num = ((!EqualityComparer<Vector3>.Default.Equals(Rotation, other.Rotation)) ? 193782025 : 193782018);
break;
}
}
}
bool IEquatable<ExitRangeEntry>.Equals(ExitRangeEntry? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200F_202B_200D_200E_200B_200B_202A_202A_200E_200B_200B_206D_202B_206B_202D_206D_200B_206D_206F_202C_206A_200D_206D_206D_206E_200E_200B_206A_202E_206C_206C_206C_206A_206D_206C_206B_202D_200E_206A_202C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _200E_206B_200D_206D_206D_200E_200B_206C_200D_202E_202A_202D_202C_202E_206A_206F_200C_202A_202A_200F_200C_200E_202C_206D_202D_206A_206E_206B_200D_200C_202C_206E_206B_206F_202E_200F_202B_200F_206E_202A_202E()
{
return new StringBuilder();
}
static StringBuilder _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202C_202B_206D_202E_202C_206C_206D_206B_202D_202B_200F_202B_200B_206A_206B_200F_206C_206D_202B_200D_202C_202A_200B_206B_202B_202D_206E_206E_200C_202B_202B_200E_202C_200B_200D_202A_206E_206E_206E_200E_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _202D_206B_206C_200B_202C_206B_200B_200F_200E_206D_200D_202E_202C_200E_202C_206D_200C_206B_206A_206B_202A_202C_206D_202D_206D_206B_202B_200E_200E_206F_200E_206C_206E_206F_206E_202B_206F_200E_206D_202B_202E(object P_0)
{
return P_0.ToString();
}
static void _202C_200C_202A_202D_206B_202B_202D_206D_200D_200C_200C_206A_202B_200C_206A_206E_202B_206D_200E_202A_202D_200F_200B_206F_200B_200F_206E_206E_202B_202D_206C_200E_202A_200C_202E_202D_206B_202A_206A_200E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static bool _202E_202C_206D_206E_202B_202B_202E_202A_200D_200F_206C_206D_200F_200B_200B_206B_200C_200E_202B_206D_202C_200B_202B_206A_206D_200C_202D_202A_202E_206F_202A_200E_206A_206C_200D_202D_202B_202D_200B_202B_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

View file

@ -0,0 +1,9 @@
using System.Collections.Generic;
using SmartNav.Model.Navigation;
namespace SmartNav.Data;
public interface IZoneBoundarySource
{
IReadOnlyList<ZoneBoundary> GetBoundaries();
}

View file

@ -0,0 +1,411 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Threading;
using Dalamud.Plugin.Services;
using LLib.GameData;
using Lumina.Data.Files;
using Lumina.Data.Parsing.Layer;
using Lumina.Excel;
using Lumina.Excel.Sheets;
using Microsoft.Extensions.Logging;
using SmartNav.Model.Navigation;
namespace SmartNav.Data;
public sealed class LgbZoneBoundarySource : IZoneBoundarySource
{
private readonly IDataManager _dataManager;
private readonly ILogger<LgbZoneBoundarySource> _logger;
private readonly Lazy<IReadOnlyList<ZoneBoundary>> _boundaries;
public LgbZoneBoundarySource(IDataManager dataManager, ILogger<LgbZoneBoundarySource> logger)
{
_dataManager = dataManager;
_logger = logger;
_boundaries = new Lazy<IReadOnlyList<ZoneBoundary>>(Build, LazyThreadSafetyMode.ExecutionAndPublication);
}
public IReadOnlyList<ZoneBoundary> GetBoundaries()
{
return _boundaries.Value;
}
IReadOnlyList<ZoneBoundary> IZoneBoundarySource.GetBoundaries()
{
//ILSpy generated this explicit interface implementation from .override directive in GetBoundaries
return this.GetBoundaries();
}
[MethodImpl(MethodImplOptions.NoInlining)]
private IReadOnlyList<ZoneBoundary> Build()
{
try
{
(List<ExitRangeEntry> ExitRanges, Dictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> PopRangeIndex) tuple = CollectLgbData();
List<ExitRangeEntry> item = tuple.ExitRanges;
Dictionary<(ushort, uint), PopRangeEntry> item2 = tuple.PopRangeIndex;
List<ZoneBoundary> list = ZoneBoundaryDerivation.Derive(item, item2, _logger);
ZoneBoundaryDerivation.ApplyOverrides(list, ZoneBoundaryOverrides.FlyingPairs, ZoneBoundaryOverrides.PositionOverrides, _logger);
_206C_200B_206A_202D_206B_206B_206B_202B_202C_202E_202D_206B_206B_202C_200E_202E_206A_202E_200D_206E_206E_206D_206A_206C_206A_202E_206B_202E_202B_206E_202C_200C_206B_202B_206F_206C_206C_202E_202C_206D_202E((ILogger)_logger, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-981985917), new object[2] { list.Count, item.Count });
return list;
}
catch (Exception ex)
{
_202A_200E_202B_202E_200D_200F_200E_206F_206A_206C_202C_202B_200B_200C_200E_206A_206A_200E_202C_206F_202D_200B_202D_206A_200C_206D_200B_206D_206D_202B_206E_206B_206F_200E_202B_202D_200E_206C_202C_202D_202E((ILogger)_logger, ex, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E<string>(927516533), Array.Empty<object>());
return Array.Empty<ZoneBoundary>();
}
}
private (List<ExitRangeEntry> ExitRanges, Dictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> PopRangeIndex) CollectLgbData()
{
List<ExitRangeEntry> list = new List<ExitRangeEntry>();
Dictionary<(ushort, uint), PopRangeEntry> dictionary = new Dictionary<(ushort, uint), PopRangeEntry>();
HashSet<uint> hashSet = new HashSet<uint>();
using (ExcelSheet<Aetheryte>.Enumerator enumerator = _dataManager.GetExcelSheet<Aetheryte>().GetEnumerator())
{
int num = 1763362761;
while (true)
{
int num2 = num;
int num3 = 1763362761;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
num = 1763362761;
break;
case 0:
num = (enumerator.MoveNext() ? 1763362760 : 1763362763);
break;
case 1:
hashSet.Add(enumerator.Current.Territory.RowId);
num = 1763362761;
break;
case 2:
goto end_IL_003b;
}
continue;
end_IL_003b:
break;
}
}
ExcelSheet<TerritoryType> excelSheet = _dataManager.GetExcelSheet<TerritoryType>();
HashSet<string> visitedLgbPaths = new HashSet<string>();
using (ExcelSheet<TerritoryType>.Enumerator enumerator2 = excelSheet.GetEnumerator())
{
int num = -1445218693;
TerritoryType current = default(TerritoryType);
while (true)
{
int num5 = num;
int num3 = -1445218689;
int num4 = num5;
int num6 = num4 + num3;
int num7 = num4 & num3;
switch (num6 - (num7 + num7))
{
case 3:
num = -1445218693;
break;
case 1:
current = enumerator2.Current;
num = ((!hashSet.Contains(current.RowId)) ? (-1445218693) : (-1445218691));
break;
case 2:
ScanTerritory(list, dictionary, visitedLgbPaths, current);
num = -1445218693;
break;
case 4:
num = (enumerator2.MoveNext() ? (-1445218690) : (-1445218689));
break;
case 0:
goto end_IL_010c;
}
continue;
end_IL_010c:
break;
}
}
using (ExcelSheet<TerritoryType>.Enumerator enumerator2 = excelSheet.GetEnumerator())
{
int num = -1007277372;
while (true)
{
int num8 = num;
int num3 = -1007277372;
int num4 = num8;
int num9 = num4 + num3;
int num10 = num4 & num3;
switch (num9 - (num10 + num10))
{
case 2:
num = -1007277372;
break;
case 1:
{
TerritoryType current2 = enumerator2.Current;
ScanTerritory(list, dictionary, visitedLgbPaths, current2);
num = -1007277372;
break;
}
case 0:
num = (enumerator2.MoveNext() ? (-1007277371) : (-1007277369));
break;
case 3:
goto end_IL_01e4;
}
continue;
end_IL_01e4:
break;
}
}
return (ExitRanges: list, PopRangeIndex: dictionary);
}
private static bool IsNavigableOverworld(ETerritoryIntendedUse use)
{
int num = ((use > ETerritoryIntendedUse.HousingOutdoor) ? (-754120289) : (-754120291));
bool result = default(bool);
while (true)
{
int num2 = num;
int num3 = -754120292;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 5:
num = ((use == ETerritoryIntendedUse.Eureka) ? (-754120298) : (-754120294));
break;
case 12:
num = ((use - 21 <= ETerritoryIntendedUse.Inn) ? (-754120298) : (-754120295));
break;
case 11:
num = ((use - 60 > ETerritoryIntendedUse.Overworld) ? (-754120300) : (-754120298));
break;
case 0:
num = -754120291;
break;
case 6:
num = -754120300;
break;
case 3:
num = ((use > ETerritoryIntendedUse.Eureka) ? (-754120290) : (-754120304));
break;
case 1:
num = ((use <= ETerritoryIntendedUse.Overworld) ? (-754120298) : (-754120303));
break;
case 8:
result = false;
num = -754120296;
break;
case 10:
result = true;
num = -754120296;
break;
case 9:
num = ((use == ETerritoryIntendedUse.HousingOutdoor) ? (-754120298) : (-754120293));
break;
case 13:
num = ((use == ETerritoryIntendedUse.OpeningArea) ? (-754120298) : (-754120299));
break;
case 4:
return result;
case 2:
num = ((use - 48 <= ETerritoryIntendedUse.Overworld) ? (-754120298) : (-754120297));
break;
case 7:
num = -754120300;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void ScanTerritory(List<ExitRangeEntry> exitRanges, Dictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> popRangeIndex, HashSet<string> visitedLgbPaths, TerritoryType territory)
{
int num = ((territory.RowId != 0) ? 954333098 : 954333094);
string text4 = default(string);
int num16 = default(int);
string text = default(string);
int num9 = default(int);
LayerCommon.InstanceObject instanceObject = default(LayerCommon.InstanceObject);
int num11 = default(int);
LayerCommon.Layer[] array = default(LayerCommon.Layer[]);
LayerCommon.InstanceObject[] instanceObjects = default(LayerCommon.InstanceObject[]);
while (true)
{
int num2 = num;
int num3 = 954333091;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 954333094;
break;
case 5:
return;
case 4:
{
string text2 = global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-747831667);
string text3 = text4;
int num15 = num16;
num3 = 1;
num4 = num15;
text = _206A_206C_202B_202E_200D_200B_206E_206D_206D_206E_200B_202A_200F_202C_202B_200F_202D_200F_200D_202A_206E_200B_200E_202A_202E_206C_206E_202C_200D_200F_200E_206F_200E_202A_206E_206B_206F_200B_200C_206D_202E(text2, _200F_200B_206F_202B_202D_206F_200D_202C_206F_206C_206E_202E_202D_206E_206B_206C_202E_202D_206E_202E_206D_200B_202D_200D_202A_202D_206C_200C_206B_206B_200C_200B_200F_200D_200C_206B_206B_206A_206B_200C_202E(text3, 0, (num4 | num3) + (num4 & num3)), global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-1939239349));
num = (visitedLgbPaths.Add(text) ? 954333092 : 954333089);
break;
}
case 1:
num16 = _202A_206F_200D_202A_202C_206A_200C_202A_206C_206A_206F_200E_206D_206F_206C_200D_200B_202E_206F_202E_200E_206B_200C_206D_202A_202E_206E_200C_206E_206A_202B_206F_200F_206C_206A_200B_206B_202B_202E_200D_202E(text4, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(16137996), StringComparison.Ordinal);
num = ((num16 >= 0) ? 954333095 : 954333099);
break;
case 9:
num = (IsNavigableOverworld((ETerritoryIntendedUse)territory.TerritoryIntendedUse.RowId) ? 954333093 : 954333088);
break;
case 8:
return;
case 10:
return;
case 3:
return;
case 2:
return;
case 6:
text4 = territory.Bg.ExtractText();
num = ((!_206E_206A_200C_200E_202E_202D_202C_200B_206E_206A_200F_206E_202C_206F_200D_200C_200D_200D_202E_206C_206D_202E_206F_206E_200D_202E_206A_206A_200E_206B_200C_202C_202B_200F_206D_200C_202E_206F_202A_206C_202E(text4)) ? 954333090 : 954333097);
break;
case 7:
{
ushort num7 = (ushort)territory.RowId;
LgbFile file;
try
{
file = _dataManager.GetFile<LgbFile>(text);
}
catch (Exception ex)
{
_206D_206B_200C_200C_200E_200F_202D_206E_200E_206C_206A_200C_200E_202E_202A_200B_206C_206B_206F_200D_202A_202B_206A_200C_202C_202D_200B_202A_202E_206F_206D_202A_206C_200D_200F_200B_200E_206F_206E_206B_202E((ILogger)_logger, ex, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(422414557), new object[1] { text });
return;
}
num = ((file != null) ? (-1034574211) : (-1034574214));
while (true)
{
int num8 = num;
num3 = -1034574218;
num4 = num8;
switch ((num4 | num3) - (num4 & num3))
{
case 6:
{
int num12 = num9;
num3 = 1;
num4 = num12;
int num13 = num4 ^ num3;
int num14 = num4 & num3;
num9 = num13 + (num14 + num14);
num = -1034574220;
break;
}
case 0:
popRangeIndex[(num7, instanceObject.InstanceId)] = new PopRangeEntry(num7, instanceObject.InstanceId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z));
num = -1034574224;
break;
case 9:
num = ((num11 < array.Length) ? (-1034574210) : (-1034574219));
break;
case 11:
array = _206B_202A_206C_200B_200F_202D_200C_202D_206C_206E_206C_206E_202E_200B_202D_202C_206F_206F_202B_200E_202A_200C_202E_206E_206D_206E_202B_206E_200F_206F_200F_200E_206F_202D_202C_206E_200D_200F_202A_200E_202E(file);
num11 = 0;
num = -1034574209;
break;
case 12:
return;
case 8:
instanceObjects = array[num11].InstanceObjects;
num9 = 0;
num = -1034574220;
break;
case 7:
{
int num10 = num11;
num3 = 1;
num4 = num10;
num11 = (num4 | num3) + (num4 & num3);
num = -1034574209;
break;
}
case 3:
return;
case 10:
num = -1034574214;
break;
case 2:
num = ((num9 < instanceObjects.Length) ? (-1034574222) : (-1034574223));
break;
case 1:
{
LayerCommon.ExitRangeInstanceObject exitRangeInstanceObject = (LayerCommon.ExitRangeInstanceObject)(object)instanceObject.Object;
exitRanges.Add(new ExitRangeEntry(num7, instanceObject.InstanceId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z), exitRangeInstanceObject.TerritoryType, exitRangeInstanceObject.DestInstanceId, exitRangeInstanceObject.ReturnInstanceId, new Vector3(instanceObject.Transform.Rotation.X, instanceObject.Transform.Rotation.Y, instanceObject.Transform.Rotation.Z), new Vector3(instanceObject.Transform.Scale.X, instanceObject.Transform.Scale.Y, instanceObject.Transform.Scale.Z)));
num = -1034574224;
break;
}
case 5:
num = ((instanceObject.AssetType != LayerEntryType.PopRange) ? (-1034574224) : (-1034574218));
break;
case 4:
instanceObject = instanceObjects[num9];
num = ((instanceObject.AssetType != LayerEntryType.ExitRange) ? (-1034574221) : (-1034574217));
break;
}
}
}
}
}
}
static void _206C_200B_206A_202D_206B_206B_206B_202B_202C_202E_202D_206B_206B_202C_200E_202E_206A_202E_200D_206E_206E_206D_206A_206C_206A_202E_206B_202E_202B_206E_202C_200C_206B_202B_206F_206C_206C_202E_202C_206D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static void _202A_200E_202B_202E_200D_200F_200E_206F_206A_206C_202C_202B_200B_200C_200E_206A_206A_200E_202C_206F_202D_200B_202D_206A_200C_206D_200B_206D_206D_202B_206E_206B_206F_200E_202B_202D_200E_206C_202C_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogError(P_1, P_2, P_3);
}
static bool _206E_206A_200C_200E_202E_202D_202C_200B_206E_206A_200F_206E_202C_206F_200D_200C_200D_200D_202E_206C_206D_202E_206F_206E_200D_202E_206A_206A_200E_206B_200C_202C_202B_200F_206D_200C_202E_206F_202A_206C_202E(string P_0)
{
return string.IsNullOrEmpty(P_0);
}
static int _202A_206F_200D_202A_202C_206A_200C_202A_206C_206A_206F_200E_206D_206F_206C_200D_200B_202E_206F_202E_200E_206B_200C_206D_202A_202E_206E_200C_206E_206A_202B_206F_200F_206C_206A_200B_206B_202B_202E_200D_202E(string P_0, string P_1, StringComparison P_2)
{
return P_0.IndexOf(P_1, P_2);
}
static string _200F_200B_206F_202B_202D_206F_200D_202C_206F_206C_206E_202E_202D_206E_206B_206C_202E_202D_206E_202E_206D_200B_202D_200D_202A_202D_206C_200C_206B_206B_200C_200B_200F_200D_200C_206B_206B_206A_206B_200C_202E(string P_0, int P_1, int P_2)
{
return P_0.Substring(P_1, P_2);
}
static string _206A_206C_202B_202E_200D_200B_206E_206D_206D_206E_200B_202A_200F_202C_202B_200F_202D_200F_200D_202A_206E_200B_200E_202A_202E_206C_206E_202C_200D_200F_200E_206F_200E_202A_206E_206B_206F_200B_200C_206D_202E(string P_0, string P_1, string P_2)
{
return P_0 + P_1 + P_2;
}
static void _206D_206B_200C_200C_200E_200F_202D_206E_200E_206C_206A_200C_200E_202E_202A_200B_206C_206B_206F_200D_202A_202B_206A_200C_202C_202D_200B_202A_202E_206F_206D_202A_206C_200D_200F_200B_200E_206F_206E_206B_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogTrace(P_1, P_2, P_3);
}
static LayerCommon.Layer[] _206B_202A_206C_200B_200F_202D_200C_202D_206C_206E_206C_206E_202E_200B_202D_202C_206F_206F_202B_200E_202A_200C_202E_206E_206D_206E_202B_206E_200F_206F_200F_200E_206F_202D_202C_206E_200D_200F_202A_200E_202E(LgbFile P_0)
{
return P_0.Layers;
}
}

View file

@ -0,0 +1,142 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace SmartNav.Data;
internal sealed record PopRangeEntry(ushort TerritoryId, uint InstanceId, Vector3 Position)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200C_202C_200D_206B_206B_200C_202A_202A_200D_206C_200B_206D_200C_202E_200D_200E_202C_206D_200D_202E_200B_202D_202E_202B_202E_200D_200F_206D_202E_202C_202C_202E_206A_200F_202E_206E_206D_202A_200E_202E_202E(typeof(PopRangeEntry).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _202B_200C_206E_200B_206F_200E_206F_206B_202C_202E_206E_206E_202C_200C_202B_206D_206A_206C_206B_202B_206B_200F_202A_206F_206A_202B_202B_200F_200B_206B_202D_206F_206D_206B_200B_202B_200D_200C_200B_200E_202E();
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-808505002));
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E<string>(1886515922));
int num = ((!PrintMembers(stringBuilder)) ? 514533744 : 514533747);
while (true)
{
int num2 = num;
int num3 = 514533746;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
_200E_200E_206E_206B_206B_200C_206C_206D_206A_206B_206D_200C_206A_202E_206A_202D_200C_200B_202C_206A_202B_202E_206E_206A_202B_202C_200E_200E_206B_206B_200F_206C_200E_202E_206B_206D_200C_206A_202D_206E_202E(stringBuilder, '}');
return _202A_202C_200F_206D_206E_202C_206A_206F_206A_206D_206C_206C_200E_206E_200B_202D_202E_202D_206E_206C_206C_202C_200C_200D_206F_206E_206C_202A_200B_206B_206C_206E_202B_206C_200E_206E_206D_202D_200B_206E_202E((object)stringBuilder);
case 1:
_200E_200E_206E_206B_206B_200C_206C_206D_206A_206B_206D_200C_206A_202E_206A_202D_200C_200B_202C_206A_202B_202E_206E_206A_202B_202C_200E_200E_206B_206B_200F_206C_200E_202E_206B_206D_200C_206A_202D_206E_202E(stringBuilder, ' ');
num = 514533744;
break;
case 0:
num = 514533747;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200E_206A_202C_200C_200E_202A_206E_206B_200B_206E_202C_200F_202B_200F_202D_206E_206B_200D_202D_200F_202B_206F_202A_202B_206E_202C_202C_200C_200E_200B_206D_200F_200C_200D_202B_200E_202E_202B_206E_206F_202E();
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(167583641));
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, TerritoryId.ToString());
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(299588646));
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, InstanceId.ToString());
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-14976604));
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, Position.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(PopRangeEntry? other)
{
int num = (((object)this == other) ? (-1947000687) : (-1947000681));
while (true)
{
int num2 = num;
int num3 = -1947000682;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = -1947000681;
break;
case 5:
return EqualityComparer<Vector3>.Default.Equals(Position, other.Position);
case 1:
num = (((object)other == null) ? (-1947000686) : (-1947000688));
break;
case 3:
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? (-1947000686) : (-1947000682));
break;
case 7:
return true;
case 4:
return false;
case 6:
num = ((!_200E_206D_206F_200E_206B_206B_206B_206B_206E_202B_200F_206F_206F_206E_202A_200C_202C_206F_200D_206F_202E_206D_206F_206E_200E_202A_200F_202D_202D_200B_206F_202D_202D_206E_200E_200E_206C_206A_202C_202E(EqualityContract, other.EqualityContract)) ? (-1947000686) : (-1947000683));
break;
case 0:
num = ((!EqualityComparer<uint>.Default.Equals(InstanceId, other.InstanceId)) ? (-1947000686) : (-1947000685));
break;
}
}
}
bool IEquatable<PopRangeEntry>.Equals(PopRangeEntry? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200C_202C_200D_206B_206B_200C_202A_202A_200D_206C_200B_206D_200C_202E_200D_200E_202C_206D_200D_202E_200B_202D_202E_202B_202E_200D_200F_206D_202E_202C_202C_202E_206A_200F_202E_206E_206D_202A_200E_202E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _202B_200C_206E_200B_206F_200E_206F_206B_202C_202E_206E_206E_202C_200C_202B_206D_206A_206C_206B_202B_206B_200F_202A_206F_206A_202B_202B_200F_200B_206B_202D_206F_206D_206B_200B_202B_200D_200C_200B_200E_202E()
{
return new StringBuilder();
}
static StringBuilder _202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _200E_200E_206E_206B_206B_200C_206C_206D_206A_206B_206D_200C_206A_202E_206A_202D_200C_200B_202C_206A_202B_202E_206E_206A_202B_202C_200E_200E_206B_206B_200F_206C_200E_202E_206B_206D_200C_206A_202D_206E_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _202A_202C_200F_206D_206E_202C_206A_206F_206A_206D_206C_206C_200E_206E_200B_202D_202E_202D_206E_206C_206C_202C_200C_200D_206F_206E_206C_202A_200B_206B_206C_206E_202B_206C_200E_206E_206D_202D_200B_206E_202E(object P_0)
{
return P_0.ToString();
}
static void _200E_206A_202C_200C_200E_202A_206E_206B_200B_206E_202C_200F_202B_200F_202D_206E_206B_200D_202D_200F_202B_206F_202A_202B_206E_202C_202C_200C_200E_200B_206D_200F_200C_200D_202B_200E_202E_202B_206E_206F_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static bool _200E_206D_206F_200E_206B_206B_206B_206B_206E_202B_200F_206F_206F_206E_202A_200C_202C_206F_200D_206F_202E_206D_206F_206E_200E_202A_200F_202D_202D_200B_206F_202D_202D_206E_200E_200E_206C_206A_202C_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

View file

@ -0,0 +1,149 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.CompilerServices;
using System.Text;
namespace SmartNav.Data;
public sealed record SmartNavDataOptions(DirectoryInfo? UserOverrideDirectory = null, DirectoryInfo? DevSourceDirectory = null, string? GameVersion = null)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206B_202A_200C_202A_200E_200C_206E_200E_200F_206D_206A_206B_202C_202B_202C_200E_200B_206B_206C_202D_206A_206D_202C_200B_200C_202B_206A_202E_206E_206F_202C_200E_206E_206F_206F_200C_200E_206F_202A_202A_202E(typeof(SmartNavDataOptions).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _200E_206C_200D_200F_206B_202A_200C_206C_202E_202A_206A_200E_200C_206D_202B_200B_206C_202A_202E_206F_200F_206F_202E_202E_206A_202E_202E_202A_206F_202B_202A_200F_200C_206D_200D_200D_206F_202D_202D_202B_202E();
_206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-1494308078));
_206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(stringBuilder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(1120247710));
int num = ((!PrintMembers(stringBuilder)) ? (-1057108320) : (-1057108319));
while (true)
{
int num2 = num;
int num3 = -1057108320;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = -1057108319;
break;
case 0:
_202A_200C_200D_206D_202A_200F_200F_200D_200D_206D_206A_202D_200B_200C_200D_206C_202E_200F_200F_202C_200F_206A_206D_200F_202E_206B_202B_200E_206E_202A_202C_206E_202B_200B_206F_202E_206A_200E_206B_202A_202E(stringBuilder, '}');
return _200C_206C_206C_202E_200D_206B_202B_202B_202B_200B_202C_200D_202A_202A_200F_206E_206E_200F_202E_202C_202D_202C_202E_206B_202E_202C_200C_200E_200E_206F_200C_206D_206F_202E_200F_202C_206E_206E_200C_200F_202E((object?)stringBuilder);
case 1:
_202A_200C_200D_206D_202A_200F_200F_200D_200D_206D_206A_202D_200B_200C_200D_206C_202E_200F_200F_202C_200F_206A_206D_200F_202E_206B_202B_200E_206E_202A_202C_206E_202B_200B_206F_202E_206A_200E_206B_202A_202E(stringBuilder, ' ');
num = -1057108320;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206F_200F_206D_206B_200B_200F_206A_202D_202E_200C_206A_202C_202A_200E_200B_202B_200C_202B_206E_206F_202E_206F_206F_202A_206B_206A_206A_206B_200C_206E_206C_200C_202D_200C_202C_206F_200C_202A_206F_200C_202E();
_206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-148533820));
_206E_206F_206E_202A_202E_202A_200F_206D_206C_206B_206F_206F_206A_200B_206B_202B_200D_206B_202E_206A_200F_200F_202C_202C_206C_200E_206A_200B_202C_202A_200E_206B_202A_206D_200C_206E_200C_206E_202B_202D_202E(builder, (object?)UserOverrideDirectory);
_206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-1567612591));
_206E_206F_206E_202A_202E_202A_200F_206D_206C_206B_206F_206F_206A_200B_206B_202B_200D_206B_202E_206A_200F_200F_202C_202C_206C_200E_206A_200B_202C_202A_200E_206B_202A_206D_200C_206E_200C_206E_202B_202D_202E(builder, (object?)DevSourceDirectory);
_206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-204927746));
_206E_206F_206E_202A_202E_202A_200F_206D_206C_206B_206F_206F_206A_200B_206B_202B_200D_206B_202E_206A_200F_200F_202C_202C_206C_200E_206A_200B_202C_202A_200E_206B_202A_206D_200C_206E_200C_206E_202B_202D_202E(builder, (object?)GameVersion);
return true;
}
[CompilerGenerated]
public bool Equals(SmartNavDataOptions? other)
{
int num = (((object)this == other) ? (-1367918412) : (-1367918411));
while (true)
{
int num2 = num;
int num3 = -1367918409;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = -1367918411;
break;
case 6:
return false;
case 3:
return true;
case 4:
num = ((!_202B_200E_200F_206E_200B_206D_200D_206C_202B_206B_202D_200F_200C_206F_200F_200C_202D_206B_202D_200B_202D_206F_200D_202B_206C_202E_200B_202A_206A_206D_202D_206B_206E_202D_206E_206B_206A_202C_200C_202A_202E(EqualityContract, other.EqualityContract)) ? (-1367918415) : (-1367918410));
break;
case 2:
num = (((object)other == null) ? (-1367918415) : (-1367918413));
break;
case 1:
num = ((!EqualityComparer<DirectoryInfo>.Default.Equals(UserOverrideDirectory, other.UserOverrideDirectory)) ? (-1367918415) : (-1367918414));
break;
case 7:
return EqualityComparer<string>.Default.Equals(GameVersion, other.GameVersion);
case 5:
num = ((!EqualityComparer<DirectoryInfo>.Default.Equals(DevSourceDirectory, other.DevSourceDirectory)) ? (-1367918415) : (-1367918416));
break;
}
}
}
bool IEquatable<SmartNavDataOptions>.Equals(SmartNavDataOptions? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type? _206B_202A_200C_202A_200E_200C_206E_200E_200F_206D_206A_206B_202C_202B_202C_200E_200B_206B_206C_202D_206A_206D_202C_200B_200C_202B_206A_202E_206E_206F_202C_200E_206E_206F_206F_200C_200E_206F_202A_202A_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder? _200E_206C_200D_200F_206B_202A_200C_206C_202E_202A_206A_200E_200C_206D_202B_200B_206C_202A_202E_206F_200F_206F_202E_202E_206A_202E_202E_202A_206F_202B_202A_200F_200C_206D_200D_200D_206F_202D_202D_202B_202E()
{
return new StringBuilder();
}
static StringBuilder? _206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(StringBuilder? P_0, string? P_1)
{
return P_0.Append(P_1);
}
static StringBuilder? _202A_200C_200D_206D_202A_200F_200F_200D_200D_206D_206A_202D_200B_200C_200D_206C_202E_200F_200F_202C_200F_206A_206D_200F_202E_206B_202B_200E_206E_202A_202C_206E_202B_200B_206F_202E_206A_200E_206B_202A_202E(StringBuilder? P_0, char P_1)
{
return P_0.Append(P_1);
}
static string? _200C_206C_206C_202E_200D_206B_202B_202B_202B_200B_202C_200D_202A_202A_200F_206E_206E_200F_202E_202C_202D_202C_202E_206B_202E_202C_200C_200E_200E_206F_200C_206D_206F_202E_200F_202C_206E_206E_200C_200F_202E(object? P_0)
{
return P_0.ToString();
}
static void _206F_200F_206D_206B_200B_200F_206A_202D_202E_200C_206A_202C_202A_200E_200B_202B_200C_202B_206E_206F_202E_206F_206F_202A_206B_206A_206A_206B_200C_206E_206C_200C_202D_200C_202C_206F_200C_202A_206F_200C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder? _206E_206F_206E_202A_202E_202A_200F_206D_206C_206B_206F_206F_206A_200B_206B_202B_200D_206B_202E_206A_200F_200F_202C_202C_206C_200E_206A_200B_202C_202A_200E_206B_202A_206D_200C_206E_200C_206E_202B_202D_202E(StringBuilder? P_0, object? P_1)
{
return P_0.Append(P_1);
}
static bool _202B_200E_200F_206E_200B_206D_200D_206C_202B_206B_202D_200F_200C_206F_200F_200C_202D_206B_202D_200B_202D_206F_200D_202B_206C_202E_200B_202A_206A_206D_202D_206B_206E_202D_206E_206B_206A_202C_200C_202A_202E(Type? P_0, Type? P_1)
{
return P_0 == P_1;
}
}

View file

@ -0,0 +1,434 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Plugin.Services;
using Lumina.Excel;
using Lumina.Excel.Sheets;
using Microsoft.Extensions.Logging;
using SmartNav.Model.Navigation;
namespace SmartNav.Data;
public sealed class TaxiStandDataService
{
public sealed record TaxiStandInfo(uint StandRowId, string PlaceName, ushort TerritoryId, Vector3 Position, uint NpcDataId, TaxiRoute[] Routes)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206B_202A_202D_206F_202E_206A_206E_200E_200C_200D_200D_200E_206F_202B_202C_202C_206B_202C_206F_200D_202E_200D_206E_206E_200B_202B_206B_206F_200D_206E_200E_200B_200B_202D_200F_206F_206D_202A_200C_200D_202E(typeof(TaxiStandInfo).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _206F_202D_206A_206E_200B_202B_200E_202A_206A_202B_202C_206A_202C_206F_202A_206E_206B_200D_200D_202B_202B_206A_202D_202B_206E_206E_202E_202C_202D_206E_202B_206E_202B_200E_200B_202A_200C_206C_206E_200F_202E();
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-457906279));
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-169322018));
int num = ((!PrintMembers(stringBuilder)) ? (-7237964) : (-7237961));
while (true)
{
int num2 = num;
int num3 = -7237962;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -7237961;
break;
case 1:
_200F_206A_206F_200E_206F_200B_200E_202B_202B_200E_206D_200D_206F_200B_200D_206B_202C_206C_200F_206D_200D_206A_200B_202A_200D_202C_200D_200F_200F_202C_202A_202B_206B_202D_200B_206B_202C_200B_206A_206F_202E(stringBuilder, ' ');
num = -7237964;
break;
case 2:
_200F_206A_206F_200E_206F_200B_200E_202B_202B_200E_206D_200D_206F_200B_200D_206B_202C_206C_200F_206D_200D_206A_200B_202A_200D_202C_200D_200F_200F_202C_202A_202B_206B_202D_200B_206B_202C_200B_206A_206F_202E(stringBuilder, '}');
return _206D_200D_202A_206A_202A_206D_200E_206C_206A_202E_206C_202C_202E_202E_206B_202A_200B_206E_206A_202D_200D_206B_206F_206E_200E_202A_202B_206D_202C_200D_200B_206A_206F_206E_200F_202C_202C_202C_206F_202D_202E((object)stringBuilder);
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200C_200F_206C_206F_202B_202D_206C_200C_202D_202D_202D_206C_206D_206A_206A_206C_200B_206D_206F_200D_202E_202D_206B_202A_206F_206F_200C_202E_206B_200B_200E_206F_206C_206A_200B_206E_200C_206C_202B_200F_202E();
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-1862745090));
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, StandRowId.ToString());
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(1386669126));
_206C_202D_206E_200B_200D_200C_200E_200D_202C_200D_200E_206E_202A_206A_206B_200C_206B_200F_200E_200F_206F_202C_200C_206F_206A_200C_202A_202A_202A_202C_206B_200C_202D_200D_200E_200E_202D_206C_206A_206F_202E(builder, (object)PlaceName);
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(1283726812));
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, TerritoryId.ToString());
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(772692776));
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, Position.ToString());
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-1004265433));
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, NpcDataId.ToString());
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-1716966096));
_206C_202D_206E_200B_200D_200C_200E_200D_202C_200D_200E_206E_202A_206A_206B_200C_206B_200F_200E_200F_206F_202C_200C_206F_206A_200C_202A_202A_202A_202C_206B_200C_202D_200D_200E_200E_202D_206C_206A_206F_202E(builder, (object)Routes);
return true;
}
[CompilerGenerated]
public bool Equals(TaxiStandInfo? other)
{
int num = (((object)this == other) ? 1006480636 : 1006480639);
while (true)
{
int num2 = num;
int num3 = 1006480638;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 7:
num = 1006480639;
break;
case 10:
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? 1006480634 : 1006480637);
break;
case 0:
num = ((!EqualityComparer<uint>.Default.Equals(NpcDataId, other.NpcDataId)) ? 1006480634 : 1006480631);
break;
case 3:
num = ((!EqualityComparer<Vector3>.Default.Equals(Position, other.Position)) ? 1006480634 : 1006480638);
break;
case 5:
num = ((!EqualityComparer<string>.Default.Equals(PlaceName, other.PlaceName)) ? 1006480634 : 1006480628);
break;
case 8:
num = ((!_202A_200F_206B_200D_206F_202D_206D_202A_206D_200E_202C_206A_206D_200B_202C_206E_206E_202C_200F_206D_206C_206F_200F_200B_202D_202E_202D_206F_202B_200F_200E_200C_202D_206E_200B_206F_206F_202E_202B_202B_202E(EqualityContract, other.EqualityContract)) ? 1006480634 : 1006480632);
break;
case 9:
return EqualityComparer<TaxiRoute[]>.Default.Equals(Routes, other.Routes);
case 4:
return false;
case 2:
return true;
case 6:
num = ((!EqualityComparer<uint>.Default.Equals(StandRowId, other.StandRowId)) ? 1006480634 : 1006480635);
break;
case 1:
num = (((object)other == null) ? 1006480634 : 1006480630);
break;
}
}
}
bool IEquatable<TaxiStandInfo>.Equals(TaxiStandInfo? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206B_202A_202D_206F_202E_206A_206E_200E_200C_200D_200D_200E_206F_202B_202C_202C_206B_202C_206F_200D_202E_200D_206E_206E_200B_202B_206B_206F_200D_206E_200E_200B_200B_202D_200F_206F_206D_202A_200C_200D_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _206F_202D_206A_206E_200B_202B_200E_202A_206A_202B_202C_206A_202C_206F_202A_206E_206B_200D_200D_202B_202B_206A_202D_202B_206E_206E_202E_202C_202D_206E_202B_206E_202B_200E_200B_202A_200C_206C_206E_200F_202E()
{
return new StringBuilder();
}
static StringBuilder _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _200F_206A_206F_200E_206F_200B_200E_202B_202B_200E_206D_200D_206F_200B_200D_206B_202C_206C_200F_206D_200D_206A_200B_202A_200D_202C_200D_200F_200F_202C_202A_202B_206B_202D_200B_206B_202C_200B_206A_206F_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _206D_200D_202A_206A_202A_206D_200E_206C_206A_202E_206C_202C_202E_202E_206B_202A_200B_206E_206A_202D_200D_206B_206F_206E_200E_202A_202B_206D_202C_200D_200B_206A_206F_206E_200F_202C_202C_202C_206F_202D_202E(object P_0)
{
return P_0.ToString();
}
static void _200C_200F_206C_206F_202B_202D_206C_200C_202D_202D_202D_206C_206D_206A_206A_206C_200B_206D_206F_200D_202E_202D_206B_202A_206F_206F_200C_202E_206B_200B_200E_206F_206C_206A_200B_206E_200C_206C_202B_200F_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206C_202D_206E_200B_200D_200C_200E_200D_202C_200D_200E_206E_202A_206A_206B_200C_206B_200F_200E_200F_206F_202C_200C_206F_206A_200C_202A_202A_202A_202C_206B_200C_202D_200D_200E_200E_202D_206C_206A_206F_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _202A_200F_206B_200D_206F_202D_206D_202A_206D_200E_202C_206A_206D_200B_202C_206E_206E_202C_200F_206D_206C_206F_200F_200B_202D_202E_202D_206F_202B_200F_200E_200C_202D_206E_200B_206F_206F_202E_202B_202B_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
public sealed record TaxiRoute(uint DestStandRowId, int Fare, int TimeRequiredSeconds)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202E_206D_200F_202E_206E_200B_202C_200C_202C_200F_200C_206C_206A_206C_202E_200C_200B_206E_206B_200B_202A_206B_200C_206A_200E_202D_200F_200F_202B_206F_206A_206B_206B_202A_206E_206A_206D_200B_200C_202D_202E(typeof(TaxiRoute).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _206D_206A_206B_202D_200E_206E_200E_200B_200E_206C_206B_200B_206E_202B_200D_206E_206A_206F_202E_206B_206E_202B_206B_206A_206F_200B_200B_202B_206E_206C_200E_202C_200B_206F_206D_200B_206C_202E_202C_202A_202E();
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(76454572));
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-979564187));
int num = ((!PrintMembers(stringBuilder)) ? 956238306 : 956238307);
while (true)
{
int num2 = num;
int num3 = 956238306;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
_200D_206E_202C_200F_200C_200E_202A_202E_202A_206C_206E_202E_206B_200B_206A_200B_206F_206E_202C_206C_200E_206E_206A_206B_202B_206A_206A_206B_206D_202C_206F_202A_202A_202B_200D_206A_206C_206F_202D_206D_202E(stringBuilder, '}');
return _200F_200F_202E_202B_202A_206A_206D_200E_202B_206C_200E_206C_202D_200C_202B_202D_202E_206C_206A_200F_200B_206C_206B_206F_202D_206E_206F_202D_202B_202E_200B_200C_206E_200E_202B_206C_200B_200C_202A_206D_202E((object)stringBuilder);
case 1:
_200D_206E_202C_200F_200C_200E_202A_202E_202A_206C_206E_202E_206B_200B_206A_200B_206F_206E_202C_206C_200E_206E_206A_206B_202B_206A_206A_206B_206D_202C_206F_202A_202A_202B_200D_206A_206C_206F_202D_206D_202E(stringBuilder, ' ');
num = 956238306;
break;
case 2:
num = 956238307;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200B_200F_206C_200C_206F_206B_206A_206B_200E_206E_206A_202B_206D_200E_202A_206E_202C_202D_200B_200F_200B_202E_202D_206A_206F_200F_202E_202E_202E_200E_200C_206D_202E_206E_200E_206E_206E_202E_202A_206B_202E();
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-1487307401));
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, DestStandRowId.ToString());
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-418458906));
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, Fare.ToString());
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-568235594));
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, TimeRequiredSeconds.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(TaxiRoute? other)
{
int num = (((object)this == other) ? 1209102583 : 1209102576);
while (true)
{
int num2 = num;
int num3 = 1209102581;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
return false;
case 5:
num = (((object)other == null) ? 1209102580 : 1209102582);
break;
case 0:
num = ((!EqualityComparer<int>.Default.Equals(Fare, other.Fare)) ? 1209102580 : 1209102578);
break;
case 6:
num = ((!EqualityComparer<uint>.Default.Equals(DestStandRowId, other.DestStandRowId)) ? 1209102580 : 1209102581);
break;
case 4:
num = 1209102576;
break;
case 7:
return EqualityComparer<int>.Default.Equals(TimeRequiredSeconds, other.TimeRequiredSeconds);
case 2:
return true;
case 3:
num = ((!_200D_202A_200B_206A_200B_200B_206F_206C_206B_206C_200F_200F_202D_206C_202A_206D_200D_200F_200E_200D_200C_206C_206A_200F_202D_206B_202D_200F_206B_206F_200C_202A_206C_202B_206A_202E_206C_206F_200E_202D_202E(EqualityContract, other.EqualityContract)) ? 1209102580 : 1209102579);
break;
}
}
}
bool IEquatable<TaxiRoute>.Equals(TaxiRoute? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202E_206D_200F_202E_206E_200B_202C_200C_202C_200F_200C_206C_206A_206C_202E_200C_200B_206E_206B_200B_202A_206B_200C_206A_200E_202D_200F_200F_202B_206F_206A_206B_206B_202A_206E_206A_206D_200B_200C_202D_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _206D_206A_206B_202D_200E_206E_200E_200B_200E_206C_206B_200B_206E_202B_200D_206E_206A_206F_202E_206B_206E_202B_206B_206A_206F_200B_200B_202B_206E_206C_200E_202C_200B_206F_206D_200B_206C_202E_202C_202A_202E()
{
return new StringBuilder();
}
static StringBuilder _200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _200D_206E_202C_200F_200C_200E_202A_202E_202A_206C_206E_202E_206B_200B_206A_200B_206F_206E_202C_206C_200E_206E_206A_206B_202B_206A_206A_206B_206D_202C_206F_202A_202A_202B_200D_206A_206C_206F_202D_206D_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _200F_200F_202E_202B_202A_206A_206D_200E_202B_206C_200E_206C_202D_200C_202B_202D_202E_206C_206A_200F_200B_206C_206B_206F_202D_206E_206F_202D_202B_202E_200B_200C_206E_200E_202B_206C_200B_200C_202A_206D_202E(object P_0)
{
return P_0.ToString();
}
static void _200B_200F_206C_200C_206F_206B_206A_206B_200E_206E_206A_202B_206D_200E_202A_206E_202C_202D_200B_200F_200B_202E_202D_206A_206F_200F_202E_202E_202E_200E_200C_206D_202E_206E_200E_206E_206E_202E_202A_206B_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static bool _200D_202A_200B_206A_200B_200B_206F_206C_206B_206C_200F_200F_202D_206C_202A_206D_200D_200F_200E_200D_200C_206C_206A_200F_202D_206B_202D_200F_206B_206F_200C_202A_206C_202B_206A_202E_206C_206F_200E_202D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
public IReadOnlyDictionary<uint, TaxiStandInfo> Stands { get; }
public IReadOnlyDictionary<uint, TaxiStandInfo> StandsByNpcDataId { get; }
public int TotalStands { get; }
public int TotalRoutes { get; }
[MethodImpl(MethodImplOptions.NoInlining)]
public TaxiStandDataService(IDataManager dataManager, SmartNavDataOptions dataOptions, ILogger<TaxiStandDataService> logger)
{
DirectoryInfo? devSourceDirectory = dataOptions.DevSourceDirectory;
IReadOnlyList<TaxiStandEntry> readOnlyList = _200B_202B_202B_206B_202E_202D_206E_202D_200F_206F_200C_206D_202E_200B_202A_200F_200B_206F_200D_200C_200D_206B_202E_206D_206B_202A_206E_202D_200C_206C_202A_202A_202A_206B_200C_200E_202E_200D_202C_202E_202E((devSourceDirectory != null) ? _200D_202C_206E_202D_202C_206B_206C_200E_200D_200C_200F_200B_206B_202C_202C_200F_200E_206D_200E_200D_206D_200D_200D_200B_206D_202A_202E_206D_200B_200B_200B_202A_206B_206D_206D_200F_200E_206B_200E_206C_202E((FileSystemInfo)devSourceDirectory) : null);
Dictionary<uint, TaxiStandEntry> dictionary = new Dictionary<uint, TaxiStandEntry>();
IEnumerator<TaxiStandEntry> enumerator = readOnlyList.GetEnumerator();
try
{
while (_202A_200C_206F_200D_206A_202A_206F_206B_200D_202E_202C_200F_206B_206C_200D_206F_202D_206D_206F_206A_202B_200C_202E_206B_200C_202D_200B_202C_200F_200D_200E_206F_200B_206C_206A_202D_206F_200E_200C_202C_202E((IEnumerator)enumerator))
{
TaxiStandEntry current = enumerator.Current;
dictionary[_206F_202E_200E_200E_206A_206C_202E_202A_206B_202D_206A_200F_206D_206C_206B_200B_206D_202A_200B_200D_206B_206A_206B_202B_200F_202C_200D_206D_202C_200C_206B_202C_206D_202E_206C_206F_206E_206B_200B_206B_202E(current)] = current;
}
}
finally
{
if (enumerator != null)
{
_202A_202D_206F_206B_206A_206E_202D_202A_206E_206C_200B_200E_200E_206A_202D_202E_206C_202A_206D_200F_200E_202A_200C_202D_202B_206E_206D_206C_200B_200D_206D_200F_200D_200C_200E_200B_200F_200B_206D_202B_202E((IDisposable)enumerator);
}
}
Dictionary<uint, TaxiStandInfo> dictionary2 = new Dictionary<uint, TaxiStandInfo>();
int num = 0;
ExcelSheet<ChocoboTaxiStand> excelSheet = dataManager.GetExcelSheet<ChocoboTaxiStand>();
foreach (var (num3, taxiStandEntry2) in dictionary)
{
if (!excelSheet.HasRow(num3))
{
continue;
}
ChocoboTaxiStand row = excelSheet.GetRow(num3);
string text = row.PlaceName.ToString();
if (_206C_200B_202E_206C_206D_206C_200C_206C_200D_206F_202E_202A_206F_202C_202B_202B_202A_200C_200B_202B_200F_200C_202B_202C_202D_206E_200B_206B_200C_206A_202C_206D_200E_206D_200C_206A_206D_206E_202C_202E(text))
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(12, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E<string>(1902166363));
defaultInterpolatedStringHandler.AppendFormatted(num3, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-2030066311));
text = defaultInterpolatedStringHandler.ToStringAndClear();
}
List<TaxiRoute> list = new List<TaxiRoute>();
int num4 = 0;
while (num4 < 8)
{
ChocoboTaxi? valueNullable = row.TargetLocations[num4].ValueNullable;
if (valueNullable.HasValue && valueNullable.Value.TimeRequired != 0)
{
uint rowId = valueNullable.Value.Location.RowId;
if (rowId != 0)
{
list.Add(new TaxiRoute(rowId, valueNullable.Value.Fare, valueNullable.Value.TimeRequired * 60));
}
}
int num5 = num4;
int num6 = 1;
int num7 = num5;
num4 = (num7 | num6) + (num7 & num6);
}
num += list.Count;
dictionary2[num3] = new TaxiStandInfo(num3, text, _202B_206C_202A_206A_206B_206E_206E_200B_206A_200C_200D_202A_206B_206E_202C_202C_202C_206A_200E_202D_206F_206A_206F_202E_206E_200F_202B_200E_200F_200E_200D_202E_202A_200E_200E_206E_206D_206E_200D_202C_202E(taxiStandEntry2), _206E_206F_200F_206B_202E_202B_202D_206A_202C_200E_206B_200D_200F_200C_202D_200D_202A_202C_200E_200E_206F_200F_200B_200B_206E_206D_206F_202B_206C_200E_206A_202B_206C_200B_202A_200E_202B_202B_202E_202A_202E(taxiStandEntry2), _202A_206A_200F_206B_206A_202E_206B_202D_200E_200C_202A_200E_202E_200D_202E_200B_206B_206F_206A_202E_202B_202E_206E_202E_202A_200F_202C_200B_202D_206A_202E_202E_200F_202A_206C_200F_200E_206F_202C_202E(taxiStandEntry2), list.ToArray());
}
Stands = dictionary2;
StandsByNpcDataId = dictionary2.Values.ToDictionary((TaxiStandInfo s) => s.NpcDataId, (TaxiStandInfo s) => s);
TotalStands = dictionary2.Count;
TotalRoutes = num;
_206C_200C_202E_200C_200F_206B_200B_206C_200E_202D_200F_200E_206B_202D_202B_200F_200C_206B_202C_200B_206D_200B_202A_206D_202E_206A_206F_206F_200F_202C_200F_202D_202B_206A_200E_206E_200E_206A_202E_200C_202E((ILogger)logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(863793575), new object[2] { TotalStands, TotalRoutes });
}
static string _200D_202C_206E_202D_202C_206B_206C_200E_200D_200C_200F_200B_206B_202C_202C_200F_200E_206D_200E_200D_206D_200D_200D_200B_206D_202A_202E_206D_200B_200B_200B_202A_206B_206D_206D_200F_200E_206B_200E_206C_202E(FileSystemInfo P_0)
{
return P_0.FullName;
}
static IReadOnlyList<TaxiStandEntry> _200B_202B_202B_206B_202E_202D_206E_202D_200F_206F_200C_206D_202E_200B_202A_200F_200B_206F_200D_200C_200D_206B_202E_206D_206B_202A_206E_202D_200C_206C_202A_202A_202A_206B_200C_200E_202E_200D_202C_202E_202E(string P_0)
{
return AssemblyTaxiStandLoader.GetStands(P_0);
}
static uint _206F_202E_200E_200E_206A_206C_202E_202A_206B_202D_206A_200F_206D_206C_206B_200B_206D_202A_200B_200D_206B_206A_206B_202B_200F_202C_200D_206D_202C_200C_206B_202C_206D_202E_206C_206F_206E_206B_200B_206B_202E(TaxiStandEntry P_0)
{
return P_0.ChocoboTaxiStandId;
}
static bool _202A_200C_206F_200D_206A_202A_206F_206B_200D_202E_202C_200F_206B_206C_200D_206F_202D_206D_206F_206A_202B_200C_202E_206B_200C_202D_200B_202C_200F_200D_200E_206F_200B_206C_206A_202D_206F_200E_200C_202C_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _202A_202D_206F_206B_206A_206E_202D_202A_206E_206C_200B_200E_200E_206A_202D_202E_206C_202A_206D_200F_200E_202A_200C_202D_202B_206E_206D_206C_200B_200D_206D_200F_200D_200C_200E_200B_200F_200B_206D_202B_202E(IDisposable P_0)
{
P_0.Dispose();
}
static bool _206C_200B_202E_206C_206D_206C_200C_206C_200D_206F_202E_202A_206F_202C_202B_202B_202A_200C_200B_202B_200F_200C_202B_202C_202D_206E_200B_206B_200C_206A_202C_206D_200E_206D_200C_206A_206D_206E_202C_202E(string P_0)
{
return string.IsNullOrEmpty(P_0);
}
static ushort _202B_206C_202A_206A_206B_206E_206E_200B_206A_200C_200D_202A_206B_206E_202C_202C_202C_206A_200E_202D_206F_206A_206F_202E_206E_200F_202B_200E_200F_200E_200D_202E_202A_200E_200E_206E_206D_206E_200D_202C_202E(TaxiStandEntry P_0)
{
return P_0.TerritoryId;
}
static Vector3 _206E_206F_200F_206B_202E_202B_202D_206A_202C_200E_206B_200D_200F_200C_202D_200D_202A_202C_200E_200E_206F_200F_200B_200B_206E_206D_206F_202B_206C_200E_206A_202B_206C_200B_202A_200E_202B_202B_202E_202A_202E(TaxiStandEntry P_0)
{
return P_0.Location;
}
static uint _202A_206A_200F_206B_206A_202E_206B_202D_200E_200C_202A_200E_202E_200D_202E_200B_206B_206F_206A_202E_202B_202E_206E_202E_202A_200F_202C_200B_202D_206A_202E_202E_200F_202A_206C_200F_200E_206F_202C_202E(TaxiStandEntry P_0)
{
return P_0.Id;
}
static void _206C_200C_202E_200C_200F_206B_200B_206C_200E_202D_200F_200E_206B_202D_202B_200F_200C_206B_202C_200B_206D_200B_202A_206D_202E_206A_206F_206F_200F_202C_200F_202D_202B_206A_200E_206E_200E_206A_202E_200C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
}

View file

@ -0,0 +1,686 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.Json;
using Dalamud.Plugin.Services;
using Lumina.Excel;
using Lumina.Excel.Sheets;
using Microsoft.Extensions.Logging;
using SmartNav.Model.Navigation;
namespace SmartNav.Data;
public sealed class TeleportTicketService
{
public sealed record ScannedTicket(uint ItemId, string Name, uint ItemActionRowId, ushort[] ItemActionData)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202C_200D_200C_206E_200F_200E_206D_206F_202D_200D_202C_202A_206A_206F_200D_202E_200C_202A_202B_200E_206E_206F_202A_202E_202A_202C_202C_206E_206D_206D_200F_200D_202B_206C_202A_206D_202A_202C_206F_202C_202E(typeof(ScannedTicket).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _206F_200D_202D_202D_200D_202C_206B_202E_200B_202B_206F_206D_200F_206F_200D_202C_206B_206E_206A_202A_206F_202B_206C_202B_206C_206D_202C_206A_200B_202C_202C_202A_206F_206B_202C_206A_202B_206E_206D_206E_202E();
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(1489802368));
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-169322018));
int num = ((!PrintMembers(stringBuilder)) ? (-550622530) : (-550622529));
while (true)
{
int num2 = num;
int num3 = -550622530;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = -550622529;
break;
case 0:
_200C_200F_200F_200C_206D_200C_200B_200D_206C_200D_200D_202D_202D_206C_200D_202B_202B_200B_202C_200E_202D_202A_202B_202D_206E_200C_200E_202E_206A_200D_200E_206C_206F_206D_206E_202E_200F_200B_206C_206C_202E(stringBuilder, '}');
return _202B_202E_202A_202B_200F_200F_200C_202B_202C_202B_202A_200C_206B_200C_202C_206E_206A_200B_206D_206D_206E_206D_200F_200F_200E_202C_206A_200D_200E_202A_202B_206A_202B_206A_200D_206F_206C_206B_206E_206D_202E((object)stringBuilder);
case 1:
_200C_200F_200F_200C_206D_200C_200B_200D_206C_200D_200D_202D_202D_206C_200D_202B_202B_200B_202C_200E_202D_202A_202B_202D_206E_200C_200E_202E_206A_200D_200E_206C_206F_206D_206E_202E_200F_200B_206C_206C_202E(stringBuilder, ' ');
num = -550622530;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200E_202B_206A_206B_202E_200D_206D_206A_202C_200E_206F_202C_206D_202E_206F_202C_206D_202E_206E_206F_202A_206D_206A_206C_202D_202E_200D_206D_202B_202C_202E_206D_200B_206E_200C_206C_202E_200C_202D_200D_202E();
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(825996996));
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, ItemId.ToString());
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-710038733));
_206E_202A_202C_206A_202E_202A_206C_200E_202E_200F_202D_206E_200F_200B_206B_206A_200D_200B_200B_200E_206C_202A_206F_206E_206F_206C_202E_202E_202A_200D_206F_206C_200C_202B_202E_200E_202E_202E_206D_206B_202E(builder, (object)Name);
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-297009185));
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, ItemActionRowId.ToString());
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(539792921));
_206E_202A_202C_206A_202E_202A_206C_200E_202E_200F_202D_206E_200F_200B_206B_206A_200D_200B_200B_200E_206C_202A_206F_206E_206F_206C_202E_202E_202A_200D_206F_206C_200C_202B_202E_200E_202E_202E_206D_206B_202E(builder, (object)ItemActionData);
return true;
}
[CompilerGenerated]
public bool Equals(ScannedTicket? other)
{
int num = (((object)this == other) ? 1004047218 : 1004047227);
while (true)
{
int num2 = num;
int num3 = 1004047226;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 5:
num = ((!EqualityComparer<uint>.Default.Equals(ItemActionRowId, other.ItemActionRowId)) ? 1004047225 : 1004047230);
break;
case 3:
return false;
case 7:
num = 1004047227;
break;
case 8:
return true;
case 0:
num = ((!_202D_200D_202B_206C_202D_206C_206D_202B_202C_206B_206C_202E_206B_200E_206C_202C_202D_202B_206D_202A_200D_200B_202C_200D_200B_200D_206A_206A_202C_206E_202C_200E_206A_206B_200D_202B_206F_202A_200C_206F_202E(EqualityContract, other.EqualityContract)) ? 1004047225 : 1004047228);
break;
case 4:
return EqualityComparer<ushort[]>.Default.Equals(ItemActionData, other.ItemActionData);
case 2:
num = ((!EqualityComparer<string>.Default.Equals(Name, other.Name)) ? 1004047225 : 1004047231);
break;
case 1:
num = (((object)other == null) ? 1004047225 : 1004047226);
break;
case 6:
num = ((!EqualityComparer<uint>.Default.Equals(ItemId, other.ItemId)) ? 1004047225 : 1004047224);
break;
}
}
}
bool IEquatable<ScannedTicket>.Equals(ScannedTicket? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202C_200D_200C_206E_200F_200E_206D_206F_202D_200D_202C_202A_206A_206F_200D_202E_200C_202A_202B_200E_206E_206F_202A_202E_202A_202C_202C_206E_206D_206D_200F_200D_202B_206C_202A_206D_202A_202C_206F_202C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _206F_200D_202D_202D_200D_202C_206B_202E_200B_202B_206F_206D_200F_206F_200D_202C_206B_206E_206A_202A_206F_202B_206C_202B_206C_206D_202C_206A_200B_202C_202C_202A_206F_206B_202C_206A_202B_206E_206D_206E_202E()
{
return new StringBuilder();
}
static StringBuilder _200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _200C_200F_200F_200C_206D_200C_200B_200D_206C_200D_200D_202D_202D_206C_200D_202B_202B_200B_202C_200E_202D_202A_202B_202D_206E_200C_200E_202E_206A_200D_200E_206C_206F_206D_206E_202E_200F_200B_206C_206C_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _202B_202E_202A_202B_200F_200F_200C_202B_202C_202B_202A_200C_206B_200C_202C_206E_206A_200B_206D_206D_206E_206D_200F_200F_200E_202C_206A_200D_200E_202A_202B_206A_202B_206A_200D_206F_206C_206B_206E_206D_202E(object P_0)
{
return P_0.ToString();
}
static void _200E_202B_206A_206B_202E_200D_206D_206A_202C_200E_206F_202C_206D_202E_206F_202C_206D_202E_206E_206F_202A_206D_206A_206C_202D_202E_200D_206D_202B_202C_202E_206D_200B_206E_200C_206C_202E_200C_202D_200D_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206E_202A_202C_206A_202E_202A_206C_200E_202E_200F_202D_206E_200F_200B_206B_206A_200D_200B_200B_200E_206C_202A_206F_206E_206F_206C_202E_202E_202A_200D_206F_206C_200C_202B_202E_200E_202E_202E_206D_206B_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _202D_200D_202B_206C_202D_206C_206D_202B_202C_206B_206C_202E_206B_200E_206C_202C_202D_202B_206D_202A_200D_200B_202C_200D_200B_200D_206A_206A_202C_206E_202C_200E_206A_206B_200D_202B_206F_202A_200C_206F_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
public sealed record TeleportTicket(uint ItemId, string Name, ushort TerritoryId, Vector3 Position, byte RequiredGrandCompany = 0, uint RequiredQuestId = 0u)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206D_206F_206B_200F_206E_200E_206D_200D_202D_202C_200C_202A_202E_206D_200C_206B_206C_202B_202D_200D_200F_200C_202A_202A_200C_200C_200D_200C_202C_202C_202C_202A_206C_206D_200D_202D_200B_202D_202A_202E(typeof(TeleportTicket).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _202A_202E_206D_206B_202C_200E_202D_202D_206D_202B_206B_206D_202B_206E_200F_202B_206E_206B_206F_206C_200C_200F_202B_206F_200D_206E_206A_202A_200C_202A_206E_206F_202E_200C_206B_200C_202D_202A_202E_202C_202E();
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-657525992));
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(stringBuilder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(1120247710));
int num = ((!PrintMembers(stringBuilder)) ? 1884459870 : 1884459871);
while (true)
{
int num2 = num;
int num3 = 1884459870;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = 1884459871;
break;
case 1:
_202B_206C_206B_202D_206E_200C_206E_200C_200C_200E_202A_206C_206E_200C_202D_206D_206B_206A_202E_202C_202E_202D_200E_206C_200F_202D_202B_206E_206B_206E_200F_200B_206C_202D_200E_206B_206A_202A_206F_200D_202E(stringBuilder, ' ');
num = 1884459870;
break;
case 0:
_202B_206C_206B_202D_206E_200C_206E_200C_200C_200E_202A_206C_206E_200C_202D_206D_206B_206A_202E_202C_202E_202D_200E_206C_200F_202D_202B_206E_206B_206E_200F_200B_206C_202D_200E_206B_206A_202A_206F_200D_202E(stringBuilder, '}');
return _202C_200F_206F_200B_206D_202D_202E_200B_202D_202C_200B_202A_206A_206A_202C_200D_206A_206E_206A_202D_202E_206E_206E_200C_200B_200B_202B_206A_206C_202B_200F_206F_200F_206F_202E_206B_200C_206F_200F_206B_202E((object)stringBuilder);
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200B_202C_202C_200C_200C_206E_202E_202C_202E_206B_200B_200D_202E_206C_202E_200B_200E_202C_206A_200E_206E_206A_206D_200B_202C_200C_206C_206D_206A_202B_202B_200B_200C_200D_202A_206E_200D_202B_206C_200C_202E();
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-625074920));
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, ItemId.ToString());
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(844509483));
_200E_206A_202E_200F_202C_200D_202A_202D_206D_206C_202E_200B_200E_200E_206C_202D_202B_206B_206E_202A_202A_202D_200D_202C_200B_206D_202B_206F_206C_200B_200E_206C_206A_206F_202E_202A_206F_202D_200E_206C_202E(builder, (object)Name);
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-1370916953));
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, TerritoryId.ToString());
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-1811452076));
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, Position.ToString());
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-772128166));
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, RequiredGrandCompany.ToString());
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(1957211680));
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, RequiredQuestId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(TeleportTicket? other)
{
int num = (((object)this == other) ? 1321105694 : 1321105681);
while (true)
{
int num2 = num;
int num3 = 1321105684;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 3:
num = ((!EqualityComparer<byte>.Default.Equals(RequiredGrandCompany, other.RequiredGrandCompany)) ? 1321105686 : 1321105685);
break;
case 5:
num = (((object)other == null) ? 1321105686 : 1321105693);
break;
case 8:
num = ((!EqualityComparer<Vector3>.Default.Equals(Position, other.Position)) ? 1321105686 : 1321105687);
break;
case 9:
num = ((!_200E_202B_200F_206F_200C_200D_200E_200F_206A_200D_202D_206A_206A_202E_202E_202D_206A_202A_200B_200F_200F_202A_200B_206A_206F_206C_200F_200C_206A_206B_202D_200F_200C_200C_206F_200B_206B_202D_202B_206C_202E(EqualityContract, other.EqualityContract)) ? 1321105686 : 1321105680);
break;
case 7:
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? 1321105686 : 1321105692);
break;
case 1:
return EqualityComparer<uint>.Default.Equals(RequiredQuestId, other.RequiredQuestId);
case 6:
num = ((!EqualityComparer<string>.Default.Equals(Name, other.Name)) ? 1321105686 : 1321105683);
break;
case 0:
num = 1321105681;
break;
case 10:
return true;
case 2:
return false;
case 4:
num = ((!EqualityComparer<uint>.Default.Equals(ItemId, other.ItemId)) ? 1321105686 : 1321105682);
break;
}
}
}
bool IEquatable<TeleportTicket>.Equals(TeleportTicket? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206D_206F_206B_200F_206E_200E_206D_200D_202D_202C_200C_202A_202E_206D_200C_206B_206C_202B_202D_200D_200F_200C_202A_202A_200C_200C_200D_200C_202C_202C_202C_202A_206C_206D_200D_202D_200B_202D_202A_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _202A_202E_206D_206B_202C_200E_202D_202D_206D_202B_206B_206D_202B_206E_200F_202B_206E_206B_206F_206C_200C_200F_202B_206F_200D_206E_206A_202A_200C_202A_206E_206F_202E_200C_206B_200C_202D_202A_202E_202C_202E()
{
return new StringBuilder();
}
static StringBuilder _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202B_206C_206B_202D_206E_200C_206E_200C_200C_200E_202A_206C_206E_200C_202D_206D_206B_206A_202E_202C_202E_202D_200E_206C_200F_202D_202B_206E_206B_206E_200F_200B_206C_202D_200E_206B_206A_202A_206F_200D_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _202C_200F_206F_200B_206D_202D_202E_200B_202D_202C_200B_202A_206A_206A_202C_200D_206A_206E_206A_202D_202E_206E_206E_200C_200B_200B_202B_206A_206C_202B_200F_206F_200F_206F_202E_206B_200C_206F_200F_206B_202E(object P_0)
{
return P_0.ToString();
}
static void _200B_202C_202C_200C_200C_206E_202E_202C_202E_206B_200B_200D_202E_206C_202E_200B_200E_202C_206A_200E_206E_206A_206D_200B_202C_200C_206C_206D_206A_202B_202B_200B_200C_200D_202A_206E_200D_202B_206C_200C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _200E_206A_202E_200F_202C_200D_202A_202D_206D_206C_202E_200B_200E_200E_206C_202D_202B_206B_206E_202A_202A_202D_200D_202C_200B_206D_202B_206F_206C_200B_200E_206C_206A_206F_202E_202A_206F_202D_200E_206C_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _200E_202B_200F_206F_200C_200D_200E_200F_206A_200D_202D_206A_206A_202E_202E_202D_206A_202A_200B_200F_200F_202A_200B_206A_206F_206C_200F_200C_206A_206B_202D_200F_200C_200C_206F_200B_206B_202D_202B_206C_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
private static readonly uint[] KnownTicketItemIds;
public IReadOnlyList<ScannedTicket> ScannedTickets { get; }
public IReadOnlyList<TeleportTicket> Tickets { get; }
internal TeleportTicketService(List<TeleportTicket> tickets)
{
ScannedTickets = Array.Empty<ScannedTicket>();
Tickets = tickets;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public TeleportTicketService(IDataManager dataManager, SmartNavDataOptions dataOptions, ILogger<TeleportTicketService> logger)
{
ScannedTickets = ScanTicketItems(dataManager, logger);
Dictionary<uint, (ushort, Vector3)> dictionary = new Dictionary<uint, (ushort, Vector3)>();
DirectoryInfo? devSourceDirectory = dataOptions.DevSourceDirectory;
IEnumerator<TeleportTicketEntry> enumerator = _206D_206F_206E_206F_200C_200B_202C_200C_200C_206D_200F_206B_202D_202C_206F_200C_202B_206C_202A_202A_206E_200C_202C_200E_202C_206A_206E_202C_200C_200E_200F_206D_200C_202B_206F_206D_200E_202D_200F_202A_202E((devSourceDirectory != null) ? _206C_206F_200C_202C_206B_202A_200B_202A_206F_206F_200D_206D_206F_202C_200F_200C_200B_206A_206D_206E_202D_200E_206C_200C_200E_200B_202E_206D_200D_202E_206D_206F_200E_200D_206B_206E_206A_200B_202E_206C_202E((FileSystemInfo)devSourceDirectory) : null).Values.GetEnumerator();
try
{
while (_206D_206B_206F_206A_206A_200B_202C_202E_206E_202C_200B_200E_202D_206C_200B_200C_202D_206D_206A_200E_202C_206D_206D_206F_206C_200F_206D_200E_206F_206B_206E_202E_206F_206A_202A_200F_200D_202D_202D_200E_202E((IEnumerator)enumerator))
{
TeleportTicketEntry current = enumerator.Current;
ApplyEntry(dictionary, current);
}
}
finally
{
if (enumerator != null)
{
_200B_200C_200D_202C_200C_202A_202A_200F_200F_202A_200D_200C_202E_200D_202E_200B_206A_202E_200C_200D_202C_206C_202B_200C_200D_202C_206E_202C_202E_206B_200F_206C_202A_202D_202B_202C_202C_206D_202D_206C_202E((IDisposable)enumerator);
}
}
if (dataOptions.UserOverrideDirectory != null)
{
LoadDestinationsFrom(_200D_206A_206D_206A_206C_202C_200E_206D_206C_206F_200C_200D_206A_202B_202C_200C_202A_200B_202B_200E_206F_206A_206B_200B_202E_200E_200C_200D_200C_202D_202C_202C_202A_200E_202E_200E_200D_206A_202B_200C_202E(_206C_206F_200C_202C_206B_202A_200B_202A_206F_206F_200D_206D_206F_202C_200F_200C_200B_206A_206D_206E_202D_200E_206C_200C_200E_200B_202E_206D_200D_202E_206D_206F_200E_200D_206B_206E_206A_200B_202E_206C_202E((FileSystemInfo)dataOptions.UserOverrideDirectory), global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-214131285)), dictionary, logger);
}
ExcelSheet<ItemActionTelepo> excelSheet = dataManager.GetExcelSheet<ItemActionTelepo>();
List<TeleportTicket> list = new List<TeleportTicket>();
IEnumerator<ScannedTicket> enumerator2 = ScannedTickets.GetEnumerator();
try
{
while (_206D_206B_206F_206A_206A_200B_202C_202E_206E_202C_200B_200E_202D_206C_200B_200C_202D_206D_206A_200E_202C_206D_206D_206F_206C_200F_206D_200E_206F_206B_206E_202E_206F_206A_202A_200F_200D_202D_202D_200E_202E((IEnumerator)enumerator2))
{
ScannedTicket current2 = enumerator2.Current;
if (!dictionary.TryGetValue(current2.ItemId, out var value))
{
_206B_206F_200D_206E_202B_202E_206A_200F_202A_206C_206F_202A_200F_206D_206A_202D_206C_202C_202E_206B_206F_202E_206F_206D_202A_200F_200F_200E_206D_206A_202E_206C_206D_202C_200F_200F_206F_206D_200F_202C_202E((ILogger)logger, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-1318998580), new object[2] { current2.ItemId, current2.Name });
}
else
{
uint num = excelSheet.GetRowOrDefault(current2.ItemActionData[0])?.Requirement.RowId ?? 0;
list.Add(new TeleportTicket(current2.ItemId, current2.Name, value.Item1, value.Item2, (byte)((num >= 1 && num <= 3) ? ((byte)num) : 0), (num >= 65536) ? num : 0u));
}
}
}
finally
{
if (enumerator2 != null)
{
_200B_200C_200D_202C_200C_202A_202A_200F_200F_202A_200D_200C_202E_200D_202E_200B_206A_202E_200C_200D_202C_206C_202B_200C_200D_202C_206E_202C_202E_206B_200F_206C_202A_202D_202B_202C_202C_206D_202D_206C_202E((IDisposable)enumerator2);
}
}
Tickets = list;
_206A_206C_206C_202C_202C_206E_202C_206F_202C_200F_200F_206F_206B_206F_200E_202C_200D_200E_206A_206E_200B_200D_206B_206D_200D_202C_206A_202C_200B_206E_200D_202B_202E_206C_206A_200F_202C_202E_206C_206E_202E((ILogger)logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-1282340065), new object[2] { ScannedTickets.Count, list.Count });
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static List<ScannedTicket> ScanTicketItems(IDataManager dataManager, ILogger logger)
{
ExcelSheet<Item> excelSheet = dataManager.GetExcelSheet<Item>();
uint? num = null;
uint[] knownTicketItemIds = KnownTicketItemIds;
int num2 = 0;
int num3 = -2085150822;
List<ScannedTicket> list = default(List<ScannedTicket>);
ItemAction? itemAction = default(ItemAction?);
Item current = default(Item);
string text = default(string);
ItemAction? valueNullable = default(ItemAction?);
while (true)
{
int num4 = num3;
int num5 = -2085150820;
int num6 = num4;
int num7 = num6 + num5;
int num8 = num6 & num5;
switch (num7 - (num8 + num8))
{
case 5:
_206B_202B_206F_200B_206A_200D_206D_200D_206E_202A_206A_202B_202E_202D_200C_206F_200C_200D_202A_202B_200B_206F_200D_206C_206B_206B_202B_202D_206F_202A_202A_200C_200C_206F_206B_206F_202A_206E_200B_200F_202E(logger, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(258108496), Array.Empty<object>());
return list;
case 1:
{
int num12 = num2;
num5 = 1;
num6 = num12;
int num13 = num6 ^ num5;
int num14 = num6 & num5;
num2 = num13 + (num14 + num14);
num3 = -2085150822;
break;
}
case 6:
num3 = ((num2 < knownTicketItemIds.Length) ? (-2085150821) : (-2085150824));
break;
case 7:
{
uint rowId = knownTicketItemIds[num2];
itemAction = excelSheet.GetRowOrDefault(rowId)?.ItemAction.ValueNullable;
num3 = ((!itemAction.HasValue) ? (-2085150819) : (-2085150820));
break;
}
case 2:
num3 = -2085150822;
break;
case 4:
list = new List<ScannedTicket>();
num3 = (num.HasValue ? (-2085150817) : (-2085150823));
break;
case 0:
num = itemAction.Value.Action.RowId;
num3 = -2085150824;
break;
case 3:
{
using (ExcelSheet<Item>.Enumerator enumerator = excelSheet.GetEnumerator())
{
num3 = -1333025980;
while (true)
{
int num9 = num3;
num5 = -1333025980;
num6 = num9;
int num10 = num6 + num5;
int num11 = num6 & num5;
switch (num10 - (num11 + num11))
{
case 6:
list.Add(new ScannedTicket(current.RowId, text, valueNullable.Value.RowId, new ushort[3]
{
valueNullable.Value.Data[0],
valueNullable.Value.Data[1],
valueNullable.Value.Data[2]
}));
num3 = -1333025980;
break;
case 4:
text = current.Name.ExtractText();
num3 = (_206A_200B_200F_202E_202C_202B_206A_202B_206F_206D_206A_202E_206E_200F_200E_206F_206E_206E_206C_206E_202B_206E_206C_202B_202A_206D_200E_200F_200B_200F_200C_200B_206C_200C_206A_200D_206D_206D_202E_206D_202E(text) ? (-1333025980) : (-1333025982));
break;
case 2:
num3 = ((valueNullable.Value.Action.RowId != num) ? (-1333025980) : (-1333025984));
break;
case 3:
current = enumerator.Current;
num3 = ((current.RowId == 0) ? (-1333025980) : (-1333025979));
break;
case 0:
num3 = (enumerator.MoveNext() ? (-1333025977) : (-1333025981));
break;
case 5:
num3 = -1333025980;
break;
case 1:
valueNullable = current.ItemAction.ValueNullable;
num3 = ((!valueNullable.HasValue) ? (-1333025980) : (-1333025978));
break;
case 7:
goto end_IL_01ae;
}
continue;
end_IL_01ae:
break;
}
}
list.Sort((ScannedTicket a, ScannedTicket b) => a.ItemId.CompareTo(b.ItemId));
return list;
}
}
}
}
private static void ApplyEntry(Dictionary<uint, (ushort TerritoryId, Vector3 Position)> destinations, TeleportTicketEntry entry)
{
int num = ((_206A_202A_206E_200E_206B_200E_200D_202C_202D_202A_206D_206B_206A_202C_200C_202E_206A_206D_202B_202A_202A_200E_200E_206A_202D_206A_206D_206A_202B_200C_200D_206C_206D_200C_202D_202A_202A_200E_206B_200E_202E(entry) == 0) ? 1762997114 : 1762997112);
while (true)
{
int num2 = num;
int num3 = 1762997113;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 3:
return;
case 0:
destinations[_206A_202A_206E_200E_206B_200E_200D_202C_202D_202A_206D_206B_206A_202C_200C_202E_206A_206D_202B_202A_202A_200E_200E_206A_202D_206A_206D_206A_202B_200C_200D_206C_206D_200C_202D_202A_202A_200E_206B_200E_202E(entry)] = (_200D_206A_202E_206E_200B_206D_206D_202E_200C_206E_202E_202B_200F_206D_202A_206D_202D_202A_200D_200F_206B_202E_200C_206B_202B_202A_202D_206D_206B_202C_200C_202C_202A_200F_206A_200B_202A_202A_200C_206E_202E(entry), _206C_200B_200F_202B_202A_206E_206C_202C_206A_202E_200C_202D_202A_206E_202C_200F_206A_202E_202A_206F_202D_200B_200E_200B_200C_206D_206A_206C_202A_202A_200E_200D_206C_200E_202A_202A_206B_206A_202A_206D_202E(entry));
num = 1762997114;
break;
case 1:
num = ((_200D_206A_202E_206E_200B_206D_206D_202E_200C_206E_202E_202B_200F_206D_202A_206D_202D_202A_200D_200F_206B_202E_200C_206B_202B_202A_202D_206D_206B_202C_200C_202C_202A_200F_206A_200B_202A_202A_200C_206E_202E(entry) <= 0) ? 1762997114 : 1762997113);
break;
case 2:
num = 1762997112;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static void LoadDestinationsFrom(string path, Dictionary<uint, (ushort TerritoryId, Vector3 Position)> destinations, ILogger logger)
{
int num = (_200C_200F_206E_202A_206A_202B_200E_202B_202A_202B_202C_202A_200F_206D_202A_200B_200C_200D_200C_202A_206D_206D_200B_206B_200E_200C_202D_200B_200C_202C_202E_206E_200B_200B_202E_206D_206F_206F_200F_202C_202E(path) ? (-1900473582) : (-1900473579));
TeleportTicketFile teleportTicketFile = default(TeleportTicketFile);
while (true)
{
int num2 = num;
int num3 = -1900473583;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = -1900473579;
break;
case 0:
return;
case 3:
teleportTicketFile = JsonSerializer.Deserialize<TeleportTicketFile>(_206D_200F_206B_206E_206B_202B_200B_206F_200E_206C_206D_200C_206A_202B_200B_202E_200C_202A_206D_206E_202C_206F_202A_200F_200E_202E_206B_200E_200E_202A_206A_200F_202B_200B_206C_200F_206A_202A_202B_202B_202E(path));
num = ((teleportTicketFile != null) ? (-1900473584) : (-1900473583));
break;
case 4:
return;
case 1:
{
using (Dictionary<string, TeleportTicketEntry>.ValueCollection.Enumerator enumerator = _206D_200B_206D_206E_200B_200D_202B_200D_200E_202A_206B_206F_200F_200F_202A_206E_200C_200B_200E_200C_202A_200F_202B_202D_206A_202B_202D_206A_202A_200C_206C_206A_200B_206E_202C_202A_202E_206B_206E_202C_202E(teleportTicketFile).Values.GetEnumerator())
{
num = -1775010946;
while (true)
{
int num7 = num;
num3 = -1775010946;
num4 = num7;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = -1775010946;
break;
case 0:
num = (enumerator.MoveNext() ? (-1775010945) : (-1775010947));
break;
case 1:
{
TeleportTicketEntry current = enumerator.Current;
ApplyEntry(destinations, current);
num = -1775010946;
break;
}
case 3:
goto end_IL_00a8;
}
continue;
end_IL_00a8:
break;
}
}
_206B_206F_200D_206E_202B_202E_206A_200F_202A_206C_206F_202A_200F_206D_206A_202D_206C_202C_202E_206B_206F_202E_206F_206D_202A_200F_200F_200E_206D_206A_202E_206C_206D_202C_200F_200F_206F_206D_200F_202C_202E(logger, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(1363837168), new object[2]
{
_206D_200B_206D_206E_200B_200D_202B_200D_200E_202A_206B_206F_200F_200F_202A_206E_200C_200B_200E_200C_202A_200F_202B_202D_206A_202B_202D_206A_202A_200C_206C_206A_200B_206E_202C_202A_202E_206B_206E_202C_202E(teleportTicketFile).Count,
path
});
return;
}
}
}
}
static TeleportTicketService()
{
uint[] array = new uint[5];
_200C_202E_200C_202A_202E_202D_202A_200F_206E_202A_206A_200B_206F_200F_202C_202B_206A_202B_200C_200C_200B_206E_202B_202A_206C_206E_206D_202E_200D_202D_200F_206A_206C_200D_202C_206E_200F_206F_206F_202B_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
KnownTicketItemIds = array;
}
static string _206C_206F_200C_202C_206B_202A_200B_202A_206F_206F_200D_206D_206F_202C_200F_200C_200B_206A_206D_206E_202D_200E_206C_200C_200E_200B_202E_206D_200D_202E_206D_206F_200E_200D_206B_206E_206A_200B_202E_206C_202E(FileSystemInfo P_0)
{
return P_0.FullName;
}
static IReadOnlyDictionary<string, TeleportTicketEntry> _206D_206F_206E_206F_200C_200B_202C_200C_200C_206D_200F_206B_202D_202C_206F_200C_202B_206C_202A_202A_206E_200C_202C_200E_202C_206A_206E_202C_200C_200E_200F_206D_200C_202B_206F_206D_200E_202D_200F_202A_202E(string P_0)
{
return AssemblyTeleportTicketLoader.GetTickets(P_0);
}
static bool _206D_206B_206F_206A_206A_200B_202C_202E_206E_202C_200B_200E_202D_206C_200B_200C_202D_206D_206A_200E_202C_206D_206D_206F_206C_200F_206D_200E_206F_206B_206E_202E_206F_206A_202A_200F_200D_202D_202D_200E_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _200B_200C_200D_202C_200C_202A_202A_200F_200F_202A_200D_200C_202E_200D_202E_200B_206A_202E_200C_200D_202C_206C_202B_200C_200D_202C_206E_202C_202E_206B_200F_206C_202A_202D_202B_202C_202C_206D_202D_206C_202E(IDisposable P_0)
{
P_0.Dispose();
}
static string _200D_206A_206D_206A_206C_202C_200E_206D_206C_206F_200C_200D_206A_202B_202C_200C_202A_200B_202B_200E_206F_206A_206B_200B_202E_200E_200C_200D_200C_202D_202C_202C_202A_200E_202E_200E_200D_206A_202B_200C_202E(string P_0, string P_1)
{
return Path.Combine(P_0, P_1);
}
static void _206B_206F_200D_206E_202B_202E_206A_200F_202A_206C_206F_202A_200F_206D_206A_202D_206C_202C_202E_206B_206F_202E_206F_206D_202A_200F_200F_200E_206D_206A_202E_206C_206D_202C_200F_200F_206F_206D_200F_202C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static void _206A_206C_206C_202C_202C_206E_202C_206F_202C_200F_200F_206F_206B_206F_200E_202C_200D_200E_206A_206E_200B_200D_206B_206D_200D_202C_206A_202C_200B_206E_200D_202B_202E_206C_206A_200F_202C_202E_206C_206E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static void _206B_202B_206F_200B_206A_200D_206D_200D_206E_202A_206A_202B_202E_202D_200C_206F_200C_200D_202A_202B_200B_206F_200D_206C_206B_206B_202B_202D_206F_202A_202A_200C_200C_206F_206B_206F_202A_206E_200B_200F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static bool _206A_200B_200F_202E_202C_202B_206A_202B_206F_206D_206A_202E_206E_200F_200E_206F_206E_206E_206C_206E_202B_206E_206C_202B_202A_206D_200E_200F_200B_200F_200C_200B_206C_200C_206A_200D_206D_206D_202E_206D_202E(string P_0)
{
return string.IsNullOrEmpty(P_0);
}
static uint _206A_202A_206E_200E_206B_200E_200D_202C_202D_202A_206D_206B_206A_202C_200C_202E_206A_206D_202B_202A_202A_200E_200E_206A_202D_206A_206D_206A_202B_200C_200D_206C_206D_200C_202D_202A_202A_200E_206B_200E_202E(TeleportTicketEntry P_0)
{
return P_0.ItemId;
}
static ushort _200D_206A_202E_206E_200B_206D_206D_202E_200C_206E_202E_202B_200F_206D_202A_206D_202D_202A_200D_200F_206B_202E_200C_206B_202B_202A_202D_206D_206B_202C_200C_202C_202A_200F_206A_200B_202A_202A_200C_206E_202E(TeleportTicketEntry P_0)
{
return P_0.DestTerritoryId;
}
static Vector3 _206C_200B_200F_202B_202A_206E_206C_202C_206A_202E_200C_202D_202A_206E_202C_200F_206A_202E_202A_206F_202D_200B_200E_200B_200C_206D_206A_206C_202A_202A_200E_200D_206C_200E_202A_202A_206B_206A_202A_206D_202E(TeleportTicketEntry P_0)
{
return P_0.DestPosition;
}
static bool _200C_200F_206E_202A_206A_202B_200E_202B_202A_202B_202C_202A_200F_206D_202A_200B_200C_200D_200C_202A_206D_206D_200B_206B_200E_200C_202D_200B_200C_202C_202E_206E_200B_200B_202E_206D_206F_206F_200F_202C_202E(string P_0)
{
return File.Exists(P_0);
}
static string _206D_200F_206B_206E_206B_202B_200B_206F_200E_206C_206D_200C_206A_202B_200B_202E_200C_202A_206D_206E_202C_206F_202A_200F_200E_202E_206B_200E_200E_202A_206A_200F_202B_200B_206C_200F_206A_202A_202B_202B_202E(string P_0)
{
return File.ReadAllText(P_0);
}
static Dictionary<string, TeleportTicketEntry> _206D_200B_206D_206E_200B_200D_202B_200D_200E_202A_206B_206F_200F_200F_202A_206E_200C_200B_200E_200C_202A_200F_202B_202D_206A_202B_202D_206A_202A_200C_206C_206A_200B_206E_202C_202A_202E_206B_206E_202C_202E(TeleportTicketFile P_0)
{
return P_0.Tickets;
}
static void _200C_202E_200C_202A_202E_202D_202A_200F_206E_202A_206A_200B_206F_200F_202C_202B_206A_202B_200C_200C_200B_206E_202B_202A_206C_206E_206D_202E_200D_202D_200F_206A_206C_200D_202C_206E_200F_206F_206F_202B_202E(Array P_0, RuntimeFieldHandle P_1)
{
RuntimeHelpers.InitializeArray(P_0, P_1);
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,920 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Runtime.CompilerServices;
using Microsoft.Extensions.Logging;
using SmartNav.Model.Navigation;
namespace SmartNav.Data;
internal static class ZoneBoundaryDerivation
{
[Serializable]
[CompilerGenerated]
private sealed class _003C_003Ec
{
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
public static Func<ZoneBoundary, (ushort, ushort)> _003C_003E9__1_1;
public static Func<IGrouping<(ushort, ushort), ZoneBoundary>, (ushort, ushort)> _003C_003E9__1_2;
public static Func<IGrouping<(ushort, ushort), ZoneBoundary>, List<ZoneBoundary>> _003C_003E9__1_3;
public static Func<ZoneBoundaryPositionOverride, (ushort TerritoryA, ushort TerritoryB)> _003C_003E9__1_4;
public static Func<(float Distance, int GateIdx, int OverrideIdx), float> _003C_003E9__1_5;
internal (ushort, ushort) _003CApplyOverrides_003Eb__1_1(ZoneBoundary b)
{
return _003CApplyOverrides_003Eg__PairKey_007C1_0(_206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_200B_202E_206E_206E_206E_202A_202D_202A_202D_206A_206F_202B_200C_206B_206C_200E_206D_202B_200D_200B_202B_206F_206C_202B_206B_200C_206A_206E_202D_200F_206C_200B_206C_200E_202A_202C_202B_206B_200D_202C_202E(b)), _206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_202B_206C_206B_202E_202D_200C_200F_200C_206D_200C_206F_202B_200F_200C_206E_200C_200E_202E_206E_202B_206E_202A_206A_200D_200D_206B_202D_202D_200D_202E_206D_202E_202E_206C_202D_202E_200C_202E_200C_200F_202E(b)));
}
internal (ushort, ushort) _003CApplyOverrides_003Eb__1_2(IGrouping<(ushort, ushort), ZoneBoundary> g)
{
return g.Key;
}
internal List<ZoneBoundary> _003CApplyOverrides_003Eb__1_3(IGrouping<(ushort, ushort), ZoneBoundary> g)
{
return g.ToList();
}
internal (ushort TerritoryA, ushort TerritoryB) _003CApplyOverrides_003Eb__1_4(ZoneBoundaryPositionOverride o)
{
return (TerritoryA: o.TerritoryA, TerritoryB: o.TerritoryB);
}
internal float _003CApplyOverrides_003Eb__1_5((float Distance, int GateIdx, int OverrideIdx) c)
{
return c.Distance;
}
static BoundarySide _200B_202E_206E_206E_206E_202A_202D_202A_202D_206A_206F_202B_200C_206B_206C_200E_206D_202B_200D_200B_202B_206F_206C_202B_206B_200C_206A_206E_202D_200F_206C_200B_206C_200E_202A_202C_202B_206B_200D_202C_202E(ZoneBoundary P_0)
{
return P_0.Side1;
}
static ushort _206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(BoundarySide P_0)
{
return P_0.TerritoryId;
}
static BoundarySide _202B_206C_206B_202E_202D_200C_200F_200C_206D_200C_206F_202B_200F_200C_206E_200C_200E_202E_206E_202B_206E_202A_206A_200D_200D_206B_202D_202D_200D_202E_206D_202E_202E_206C_202D_202E_200C_202E_200C_200F_202E(ZoneBoundary P_0)
{
return P_0.Side2;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static List<ZoneBoundary> Derive(IReadOnlyList<ExitRangeEntry> exitRanges, IReadOnlyDictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> popRangeIndex, ILogger logger)
{
List<ZoneBoundary> list = new List<ZoneBoundary>();
HashSet<(ushort, uint)> hashSet = new HashSet<(ushort, uint)>();
List<ExitRangeEntry> list2 = new List<ExitRangeEntry>();
IEnumerator<ExitRangeEntry> enumerator = exitRanges.GetEnumerator();
try
{
ExitRangeEntry current = default(ExitRangeEntry);
Vector3? vector = default(Vector3?);
ExitRangeEntry exitRangeEntry = default(ExitRangeEntry);
ExitRangeEntry current2 = default(ExitRangeEntry);
ExitRangeEntry exitRangeEntry2 = default(ExitRangeEntry);
ExitRangeEntry current3 = default(ExitRangeEntry);
PopRangeEntry value2 = default(PopRangeEntry);
float num12 = default(float);
Vector3? vector3 = default(Vector3?);
while (true)
{
int num;
if (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator))
{
current = enumerator.Current;
if (hashSet.Contains((current.SourceTerritoryId, current.InstanceId)) || current.DestTerritoryId == 0)
{
continue;
}
vector = null;
if (popRangeIndex.TryGetValue((current.DestTerritoryId, current.DestInstanceId), out PopRangeEntry value))
{
vector = value.Position;
}
exitRangeEntry = null;
IEnumerator<ExitRangeEntry> enumerator2 = exitRanges.GetEnumerator();
try
{
num = 2034045205;
while (true)
{
int num2 = num;
int num3 = 2034045207;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 10:
num = 2034045205;
break;
case 9:
num = ((current2.DestInstanceId == 0) ? 2034045207 : 2034045215);
break;
case 6:
num = ((current2.ReturnInstanceId == 0) ? 2034045205 : 2034045202);
break;
case 0:
num = ((current.DestInstanceId == 0) ? 2034045201 : 2034045211);
break;
case 8:
num = ((current2.DestInstanceId == current.ReturnInstanceId) ? 2034045212 : 2034045207);
break;
case 5:
num = ((current2.ReturnInstanceId != current.InstanceId) ? 2034045205 : 2034045212);
break;
case 4:
num = ((current2.DestTerritoryId != current.SourceTerritoryId) ? 2034045205 : 2034045204);
break;
case 7:
current2 = enumerator2.Current;
num = ((current2.SourceTerritoryId != current.DestTerritoryId) ? 2034045205 : 2034045203);
break;
case 3:
num = (hashSet.Contains((current2.SourceTerritoryId, current2.InstanceId)) ? 2034045205 : 2034045214);
break;
case 2:
num = (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator2) ? 2034045200 : 2034045206);
break;
case 11:
exitRangeEntry = current2;
goto end_IL_009f;
case 12:
num = ((current.DestInstanceId == current2.ReturnInstanceId) ? 2034045212 : 2034045201);
break;
case 1:
goto end_IL_009f;
}
continue;
end_IL_009f:
break;
}
}
finally
{
num = ((enumerator2 == null) ? 704950987 : 704950984);
while (true)
{
int num7 = num;
int num3 = 704950985;
int num4 = num7;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 704950984;
break;
case 1:
_206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator2);
num = 704950987;
break;
case 2:
goto end_IL_02e0;
}
continue;
end_IL_02e0:
break;
}
}
if (!(exitRangeEntry == null))
{
goto IL_07b3;
}
float num8 = float.MaxValue;
exitRangeEntry2 = null;
enumerator2 = exitRanges.GetEnumerator();
try
{
num = 1641010271;
while (true)
{
int num9 = num;
int num3 = 1641010266;
int num4 = num9;
int num10 = num4 + num3;
int num11 = num4 & num3;
switch (num10 - (num11 + num11))
{
case 6:
num = ((!popRangeIndex.TryGetValue((current.SourceTerritoryId, current3.DestInstanceId), out value2)) ? 1641010256 : 1641010267);
break;
case 4:
current3 = enumerator2.Current;
num = ((current3.SourceTerritoryId != current.DestTerritoryId) ? 1641010271 : 1641010258);
break;
case 5:
num = (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator2) ? 1641010270 : 1641010269);
break;
case 1:
num12 = Vector3.Distance(current.SourcePosition, value2.Position);
num = ((!(num12 < num8)) ? 1641010271 : 1641010259);
break;
case 0:
num = 1641010271;
break;
case 2:
exitRangeEntry2 = current3;
num = 1641010271;
break;
case 3:
num = (hashSet.Contains((current3.SourceTerritoryId, current3.InstanceId)) ? 1641010271 : 1641010268);
break;
case 10:
num = (((object)exitRangeEntry2 != null) ? 1641010271 : 1641010264);
break;
case 8:
num = ((current3.DestTerritoryId != current.SourceTerritoryId) ? 1641010271 : 1641010265);
break;
case 9:
num8 = num12;
exitRangeEntry = current3;
num = 1641010271;
break;
case 7:
goto end_IL_0357;
}
continue;
end_IL_0357:
break;
}
}
finally
{
num = ((enumerator2 == null) ? (-564357358) : (-564357359));
while (true)
{
int num13 = num;
int num3 = -564357357;
int num4 = num13;
int num14 = num4 + num3;
int num15 = num4 & num3;
switch (num14 - (num15 + num15))
{
case 0:
num = -564357359;
break;
case 1:
goto end_IL_053f;
case 2:
_206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator2);
num = -564357358;
break;
}
continue;
end_IL_053f:
break;
}
}
num = (((object)exitRangeEntry != null) ? (-267048228) : (-267048233));
}
else
{
num = -267048227;
}
goto IL_05ac;
IL_07b3:
num = (((object)exitRangeEntry != null) ? (-267048226) : (-267048232));
goto IL_05ac;
IL_05ac:
while (true)
{
int num16 = num;
int num3 = -267048226;
int num4 = num16;
Vector3? vector2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
num = -267048233;
break;
case 6:
vector2 = vector;
goto IL_061f;
case 0:
vector2 = exitRangeEntry.SourcePosition;
goto IL_061f;
case 7:
list2.Add(current);
num = -267048234;
break;
case 1:
goto IL_0659;
case 8:
goto end_IL_05ac;
case 2:
goto IL_07b3;
case 9:
exitRangeEntry = exitRangeEntry2;
num = -267048228;
break;
case 5:
hashSet.Add((exitRangeEntry.SourceTerritoryId, exitRangeEntry.InstanceId));
num = -267048234;
break;
case 3:
goto end_IL_079b;
IL_061f:
vector3 = vector2;
num = (vector3.HasValue ? (-267048225) : (-267048231));
break;
}
continue;
IL_0659:
ZoneBoundary zoneBoundary = _202E_200D_206B_202D_206A_206B_200F_202B_200B_206D_202C_206E_206F_206B_206B_202C_202E_202A_202B_200D_200B_200E_202A_202A_206F_202C_206F_206B_200C_200C_200C_206C_200B_202D_200D_206F_202D_200F_200B_206C_202E();
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 3);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-1989489141));
defaultInterpolatedStringHandler.AppendFormatted(current.SourceTerritoryId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E<string>(-642304930));
defaultInterpolatedStringHandler.AppendFormatted(current.DestTerritoryId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-493592002));
defaultInterpolatedStringHandler.AppendFormatted(current.InstanceId);
_202D_202C_206F_206A_202B_200E_206C_206C_206F_202B_202B_206B_206D_206F_206A_202E_202D_206A_200F_200B_206E_200B_200D_206C_206B_202C_202B_206D_206B_206A_202B_206E_202B_202E_202D_200E_200D_206A_200B_206B_202E(zoneBoundary, defaultInterpolatedStringHandler.ToStringAndClear());
BoundarySide boundarySide = _202A_202A_202B_206F_200B_200B_206A_206F_206A_202A_206A_200B_200B_200F_202B_206C_200C_206F_200B_206C_200E_200B_202A_200E_200C_200C_202A_200D_206F_206C_202D_202E_202B_202C_200B_200E_206B_202D_202D_206F_202E();
_202A_202A_200F_206F_206B_206B_206D_206B_200B_200B_206F_200D_206F_202D_200B_200F_202D_206A_202A_200B_206A_200F_206A_200B_200C_200B_202A_200C_206F_200C_200C_200C_202D_200F_200C_202E_202A_200D_202A_202A_202E(boundarySide, current.SourceTerritoryId);
_200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(boundarySide, current.SourcePosition);
_200C_206F_200C_202B_206A_202A_206E_200F_202E_200E_202A_200D_200B_202D_200B_202A_202B_206B_206A_200B_206F_202C_202C_202C_202C_206D_202E_202E_200B_202A_206E_202B_206B_206A_202C_202E_202E_206F_206E_200F_202E(boundarySide, TriggerOf(current));
_206E_206D_200C_200F_202C_202D_200F_206F_200D_206E_202E_202B_200D_206E_202D_200D_200B_202B_202B_202E_202E_200F_206F_200C_202A_200B_206B_202E_206A_202C_202D_206E_206F_202E_200F_200B_202D_206A_206C_200C_202E(zoneBoundary, boundarySide);
BoundarySide boundarySide2 = _202A_202A_202B_206F_200B_200B_206A_206F_206A_202A_206A_200B_200B_200F_202B_206C_200C_206F_200B_206C_200E_200B_202A_200E_200C_200C_202A_200D_206F_206C_202D_202E_202B_202C_200B_200E_206B_202D_202D_206F_202E();
_202A_202A_200F_206F_206B_206B_206D_206B_200B_200B_206F_200D_206F_202D_200B_200F_202D_206A_202A_200B_206A_200F_206A_200B_200C_200B_202A_200C_206F_200C_200C_200C_202D_200F_200C_202E_202A_200D_202A_202A_202E(boundarySide2, current.DestTerritoryId);
_200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(boundarySide2, vector3.Value);
_200C_206F_200C_202B_206A_202A_206E_200F_202E_200E_202A_200D_200B_202D_200B_202A_202B_206B_206A_200B_206F_202C_202C_202C_202C_206D_202E_202E_200B_202A_206E_202B_206B_206A_202C_202E_202E_206F_206E_200F_202E(boundarySide2, (exitRangeEntry == null) ? null : TriggerOf(exitRangeEntry));
_206C_202E_202B_200D_202A_200C_200C_206A_200C_202C_206E_206A_200C_206F_206B_206E_206B_206E_206E_206E_206A_200E_200E_206D_206C_206F_200D_202A_202D_200E_202A_200C_200B_206E_200C_206C_200B_206A_200C_202A_202E(zoneBoundary, boundarySide2);
_202D_202D_206F_202D_206F_202C_206C_202C_206D_206D_202C_206D_200B_206E_206A_202E_206E_202B_202A_206D_202E_206F_202D_200F_200D_206C_202B_200C_206A_206E_202C_206F_202D_202D_200F_202E_200C_202B_200F_200F_202E(zoneBoundary, exitRangeEntry == null);
list.Add(zoneBoundary);
hashSet.Add((current.SourceTerritoryId, current.InstanceId));
num = ((!(exitRangeEntry != null)) ? (-267048234) : (-267048229));
continue;
end_IL_05ac:
break;
}
continue;
end_IL_079b:
break;
}
}
finally
{
int num = ((enumerator == null) ? (-1091399177) : (-1091399180));
while (true)
{
int num17 = num;
int num3 = -1091399178;
int num4 = num17;
int num18 = num4 + num3;
int num19 = num4 & num3;
switch (num18 - (num19 + num19))
{
case 0:
num = -1091399180;
break;
case 2:
_206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator);
num = -1091399177;
break;
case 1:
goto end_IL_082c;
}
continue;
end_IL_082c:
break;
}
}
HashSet<(ushort, ushort)> hashSet2 = new HashSet<(ushort, ushort)>();
using (List<ZoneBoundary>.Enumerator enumerator3 = list.GetEnumerator())
{
int num = 1178177588;
while (true)
{
int num20 = num;
int num3 = 1178177589;
int num4 = num20;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
num = 1178177588;
break;
case 2:
{
ZoneBoundary current4 = enumerator3.Current;
hashSet2.Add((_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(current4)), _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(current4))));
hashSet2.Add((_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(current4)), _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(current4))));
num = 1178177588;
break;
}
case 1:
num = (enumerator3.MoveNext() ? 1178177591 : 1178177589);
break;
case 0:
goto end_IL_0894;
}
continue;
end_IL_0894:
break;
}
}
using List<ExitRangeEntry>.Enumerator enumerator4 = list2.GetEnumerator();
int num = -784506281;
ExitRangeEntry current5 = default(ExitRangeEntry);
while (true)
{
int num21 = num;
int num3 = -784506286;
int num4 = num21;
int num22 = num4 + num3;
int num23 = num4 & num3;
switch (num22 - (num23 + num23))
{
case 2:
_200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(1622363206), new object[4] { current5.InstanceId, current5.SourceTerritoryId, current5.DestTerritoryId, current5.DestInstanceId });
num = -784506281;
break;
case 5:
num = (enumerator4.MoveNext() ? (-784506285) : (-784506287));
break;
case 1:
current5 = enumerator4.Current;
num = ((!hashSet2.Contains((current5.SourceTerritoryId, current5.DestTerritoryId))) ? (-784506288) : (-784506282));
break;
case 0:
num = -784506281;
break;
case 4:
_202D_200E_200D_200C_206C_200C_200E_202E_206E_202A_200B_200C_206A_200E_206B_200C_200E_200C_200B_206E_206A_206D_202E_200B_200B_202B_202D_206D_202E_202A_202C_200C_206F_202E_206C_202D_202D_206F_206E_206F_202E(logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-566963400), new object[3] { current5.InstanceId, current5.SourceTerritoryId, current5.DestTerritoryId });
num = -784506281;
break;
case 3:
return list;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static void ApplyOverrides(List<ZoneBoundary> boundaries, IReadOnlyCollection<(ushort TerritoryA, ushort TerritoryB)> flyingPairs, IReadOnlyList<ZoneBoundaryPositionOverride> positionOverrides, ILogger logger)
{
HashSet<(ushort, ushort)> hashSet = new HashSet<(ushort, ushort)>(flyingPairs);
int num;
using (List<ZoneBoundary>.Enumerator enumerator = boundaries.GetEnumerator())
{
num = -1561912476;
ZoneBoundary current = default(ZoneBoundary);
while (true)
{
int num2 = num;
int num3 = -1561912474;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
_206D_200F_200E_202B_202D_200F_206D_200C_200C_200E_206E_202C_202D_206A_206C_200F_200E_206C_206A_206F_206A_200C_206E_206D_202B_206F_200C_206E_200C_202A_202C_206A_200D_206C_200C_206B_200D_202A_200C_206E_202E(current, true);
num = -1561912476;
break;
case 1:
current = enumerator.Current;
num = ((!hashSet.Contains(PairKey(_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(current)), _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(current))))) ? (-1561912476) : (-1561912474));
break;
case 2:
num = (enumerator.MoveNext() ? (-1561912473) : (-1561912475));
break;
case 4:
num = -1561912476;
break;
case 3:
goto end_IL_001a;
}
continue;
end_IL_001a:
break;
}
}
Dictionary<(ushort, ushort), List<ZoneBoundary>> dictionary = (from b in boundaries
group b by PairKey(_003C_003Ec._206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_003C_003Ec._200B_202E_206E_206E_206E_202A_202D_202A_202D_206A_206F_202B_200C_206B_206C_200E_206D_202B_200D_200B_202B_206F_206C_202B_206B_200C_206A_206E_202D_200F_206C_200B_206C_200E_202A_202C_202B_206B_200D_202C_202E(b)), _003C_003Ec._206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_003C_003Ec._202B_206C_206B_202E_202D_200C_200F_200C_206D_200C_206F_202B_200F_200C_206E_200C_200E_202E_206E_202B_206E_202A_206A_200D_200D_206B_202D_202D_200D_202E_206D_202E_202E_206C_202D_202E_200C_202E_200C_200F_202E(b)))).ToDictionary((IGrouping<(ushort, ushort), ZoneBoundary> g) => g.Key, (IGrouping<(ushort, ushort), ZoneBoundary> g) => g.ToList());
int num7 = 0;
IEnumerator<IGrouping<(ushort, ushort), ZoneBoundaryPositionOverride>> enumerator2 = (from o in positionOverrides
group o by (TerritoryA: o.TerritoryA, TerritoryB: o.TerritoryB)).GetEnumerator();
try
{
List<ZoneBoundaryPositionOverride> list = default(List<ZoneBoundaryPositionOverride>);
bool[] array2 = default(bool[]);
(float, int, int) current3 = default((float, int, int));
int num14 = default(int);
while (true)
{
IL_0519:
if (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator2))
{
IGrouping<(ushort, ushort), ZoneBoundaryPositionOverride> current2 = enumerator2.Current;
list = current2.ToList();
if (!dictionary.TryGetValue(current2.Key, out var value))
{
num7 += list.Count;
_200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-1356546708), new object[3]
{
current2.Key.Item1,
current2.Key.Item2,
list.Count
});
continue;
}
List<(float, int, int)> list2 = new List<(float, int, int)>();
int num8 = 0;
while (num8 < value.Count)
{
int num3;
int num4;
for (int num9 = 0; num9 < list.Count; num9 = (num4 | num3) + (num4 & num3))
{
list2.Add((OverrideDistance(value[num8], list[num9]), num8, num9));
int num10 = num9;
num3 = 1;
num4 = num10;
}
int num11 = num8;
num3 = 1;
num4 = num11;
num8 = (num4 | num3) + (num4 & num3);
}
bool[] array = new bool[value.Count];
array2 = new bool[list.Count];
IEnumerator<(float, int, int)> enumerator3 = list2.OrderBy<(float, int, int), float>(((float Distance, int GateIdx, int OverrideIdx) c) => c.Distance).GetEnumerator();
try
{
num = -397486009;
while (true)
{
int num12 = num;
int num3 = -397486013;
int num4 = num12;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
num = -397486009;
break;
case 5:
num = (array2[current3.Item3] ? (-397486009) : (-397486015));
break;
case 4:
num = (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator3) ? (-397486014) : (-397486013));
break;
case 2:
{
array[current3.Item2] = true;
array2[current3.Item3] = true;
ZoneBoundary zoneBoundary = value[current3.Item2];
ZoneBoundaryPositionOverride zoneBoundaryPositionOverride = list[current3.Item3];
bool flag = _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(zoneBoundary)) == zoneBoundaryPositionOverride.TerritoryA;
_200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(zoneBoundary), flag ? zoneBoundaryPositionOverride.PositionA : zoneBoundaryPositionOverride.PositionB);
_200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(zoneBoundary), flag ? zoneBoundaryPositionOverride.PositionB : zoneBoundaryPositionOverride.PositionA);
num = -397486009;
break;
}
case 1:
current3 = enumerator3.Current;
num = (array[current3.Item2] ? (-397486009) : (-397486010));
break;
case 0:
goto end_IL_02f4;
}
continue;
end_IL_02f4:
break;
}
}
finally
{
num = ((enumerator3 == null) ? 386803249 : 386803248);
while (true)
{
int num13 = num;
int num3 = 386803249;
int num4 = num13;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = 386803248;
break;
case 0:
goto end_IL_0476;
case 1:
_206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator3);
num = 386803249;
break;
}
continue;
end_IL_0476:
break;
}
}
num14 = 0;
num = -1707302670;
}
else
{
num = -1707302671;
}
while (true)
{
int num15 = num;
int num3 = -1707302671;
int num4 = num15;
switch ((num4 | num3) - (num4 & num3))
{
default:
continue;
case 5:
num = -1707302670;
continue;
case 2:
break;
case 1:
{
int num19 = num14;
num3 = 1;
num4 = num19;
int num20 = num4 ^ num3;
int num21 = num4 & num3;
num14 = num20 + (num21 + num21);
num = -1707302670;
continue;
}
case 4:
num = (array2[num14] ? (-1707302672) : (-1707302665));
continue;
case 3:
num = ((num14 < list.Count) ? (-1707302667) : (-1707302669));
continue;
case 6:
{
int num16 = num7;
num3 = 1;
num4 = num16;
int num17 = num4 ^ num3;
int num18 = num4 & num3;
num7 = num17 + (num18 + num18);
num = -1707302672;
continue;
}
case 0:
goto end_IL_04d1;
}
goto IL_0519;
continue;
end_IL_04d1:
break;
}
break;
}
}
finally
{
num = ((enumerator2 == null) ? (-284585100) : (-284585099));
while (true)
{
int num22 = num;
int num3 = -284585100;
int num4 = num22;
int num23 = num4 + num3;
int num24 = num4 & num3;
switch (num23 - (num24 + num24))
{
case 0:
goto end_IL_05df;
case 1:
_206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator2);
num = -284585100;
break;
case 2:
num = -284585099;
break;
}
continue;
end_IL_05df:
break;
}
}
num = ((num7 <= 0) ? 1969313430 : 1969313429);
while (true)
{
int num25 = num;
int num3 = 1969313428;
int num4 = num25;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 1969313429;
break;
case 2:
return;
case 1:
_200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-1309944593), new object[1] { num7 });
num = 1969313430;
break;
}
}
static (ushort, ushort) PairKey(ushort a, ushort b)
{
int num26 = ((a <= b) ? 1834815279 : 1834815278);
while (true)
{
int num27 = num26;
int num28 = 1834815279;
int num29 = num27;
int num30 = num29 + num28;
int num31 = num29 & num28;
switch (num30 - (num31 + num31))
{
case 2:
goto IL_0044;
case 1:
return (b, a);
case 0:
return (a, b);
}
continue;
IL_0044:
num26 = 1834815278;
}
}
}
private static TriggerBox? TriggerOf(ExitRangeEntry exit)
{
int num = ((exit.HalfExtents == Vector3.Zero) ? 1355373667 : 1355373664);
while (true)
{
int num2 = num;
int num3 = 1355373666;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0052;
case 1:
return null;
case 2:
return _202A_200B_206C_200F_202B_206B_200C_202D_202D_202D_200B_206E_206F_202C_206F_206D_202B_200E_206A_206D_206A_206A_206C_206C_202E_202D_202C_206B_206B_200C_202A_206A_202B_200B_206E_206A_206A_202C_200C_200D_202E(exit.SourcePosition, exit.Rotation, exit.HalfExtents);
}
continue;
IL_0052:
num = 1355373664;
}
}
private static float OverrideDistance(ZoneBoundary gate, ZoneBoundaryPositionOverride ovr)
{
int num = ((_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(gate)) == ovr.TerritoryA) ? (-1856097741) : (-1856097744));
while (true)
{
int num2 = num;
int num3 = -1856097743;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0053;
case 1:
return Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(gate)), ovr.PositionB) + Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(gate)), ovr.PositionA);
case 2:
return Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(gate)), ovr.PositionA) + Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(gate)), ovr.PositionB);
}
continue;
IL_0053:
num = -1856097744;
}
}
[CompilerGenerated]
internal static (ushort, ushort) _003CApplyOverrides_003Eg__PairKey_007C1_0(ushort a, ushort b)
{
int num = ((a <= b) ? 1834815279 : 1834815278);
while (true)
{
int num2 = num;
int num3 = 1834815279;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
goto IL_0044;
case 1:
return (b, a);
case 0:
return (a, b);
}
continue;
IL_0044:
num = 1834815278;
}
}
static bool _202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E(IDisposable P_0)
{
P_0.Dispose();
}
static ZoneBoundary _202E_200D_206B_202D_206A_206B_200F_202B_200B_206D_202C_206E_206F_206B_206B_202C_202E_202A_202B_200D_200B_200E_202A_202A_206F_202C_206F_206B_200C_200C_200C_206C_200B_202D_200D_206F_202D_200F_200B_206C_202E()
{
return new ZoneBoundary();
}
static void _202D_202C_206F_206A_202B_200E_206C_206C_206F_202B_202B_206B_206D_206F_206A_202E_202D_206A_200F_200B_206E_200B_200D_206C_206B_202C_202B_206D_206B_206A_202B_206E_202B_202E_202D_200E_200D_206A_200B_206B_202E(ZoneBoundary P_0, string P_1)
{
P_0.Id = P_1;
}
static BoundarySide _202A_202A_202B_206F_200B_200B_206A_206F_206A_202A_206A_200B_200B_200F_202B_206C_200C_206F_200B_206C_200E_200B_202A_200E_200C_200C_202A_200D_206F_206C_202D_202E_202B_202C_200B_200E_206B_202D_202D_206F_202E()
{
return new BoundarySide();
}
static void _202A_202A_200F_206F_206B_206B_206D_206B_200B_200B_206F_200D_206F_202D_200B_200F_202D_206A_202A_200B_206A_200F_206A_200B_200C_200B_202A_200C_206F_200C_200C_200C_202D_200F_200C_202E_202A_200D_202A_202A_202E(BoundarySide P_0, ushort P_1)
{
P_0.TerritoryId = P_1;
}
static void _200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(BoundarySide P_0, Vector3 P_1)
{
P_0.Position = P_1;
}
static void _200C_206F_200C_202B_206A_202A_206E_200F_202E_200E_202A_200D_200B_202D_200B_202A_202B_206B_206A_200B_206F_202C_202C_202C_202C_206D_202E_202E_200B_202A_206E_202B_206B_206A_202C_202E_202E_206F_206E_200F_202E(BoundarySide P_0, TriggerBox P_1)
{
P_0.Trigger = P_1;
}
static void _206E_206D_200C_200F_202C_202D_200F_206F_200D_206E_202E_202B_200D_206E_202D_200D_200B_202B_202B_202E_202E_200F_206F_200C_202A_200B_206B_202E_206A_202C_202D_206E_206F_202E_200F_200B_202D_206A_206C_200C_202E(ZoneBoundary P_0, BoundarySide P_1)
{
P_0.Side1 = P_1;
}
static void _206C_202E_202B_200D_202A_200C_200C_206A_200C_202C_206E_206A_200C_206F_206B_206E_206B_206E_206E_206E_206A_200E_200E_206D_206C_206F_200D_202A_202D_200E_202A_200C_200B_206E_200C_206C_200B_206A_200C_202A_202E(ZoneBoundary P_0, BoundarySide P_1)
{
P_0.Side2 = P_1;
}
static void _202D_202D_206F_202D_206F_202C_206C_202C_206D_206D_202C_206D_200B_206E_206A_202E_206E_202B_202A_206D_202E_206F_202D_200F_200D_206C_202B_200C_206A_206E_202C_206F_202D_202D_200F_202E_200C_202B_200F_200F_202E(ZoneBoundary P_0, bool P_1)
{
P_0.OneWay = P_1;
}
static BoundarySide _206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(ZoneBoundary P_0)
{
return P_0.Side1;
}
static ushort _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(BoundarySide P_0)
{
return P_0.TerritoryId;
}
static BoundarySide _206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(ZoneBoundary P_0)
{
return P_0.Side2;
}
static void _202D_200E_200D_200C_206C_200C_200E_202E_206E_202A_200B_200C_206A_200E_206B_200C_200E_200C_200B_206E_206A_206D_202E_200B_200B_202B_202D_206D_202E_202A_202C_200C_206F_202E_206C_202D_202D_206F_206E_206F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static void _200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static void _206D_200F_200E_202B_202D_200F_206D_200C_200C_200E_206E_202C_202D_206A_206C_200F_200E_206C_206A_206F_206A_200C_206E_206D_202B_206F_200C_206E_200C_202A_202C_206A_200D_206C_200C_206B_200D_202A_200C_206E_202E(ZoneBoundary P_0, bool P_1)
{
P_0.RequiresFlying = P_1;
}
static TriggerBox _202A_200B_206C_200F_202B_206B_200C_202D_202D_202D_200B_206E_206F_202C_206F_206D_202B_200E_206A_206D_206A_206A_206C_206C_202E_202D_202C_206B_206B_200C_202A_206A_202B_200B_206E_206A_206A_202C_200C_200D_202E(Vector3 P_0, Vector3 P_1, Vector3 P_2)
{
return new TriggerBox(P_0, P_1, P_2);
}
static Vector3 _202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(BoundarySide P_0)
{
return P_0.Position;
}
}

View file

@ -0,0 +1,90 @@
using System.Collections.Generic;
using System.Numerics;
namespace SmartNav.Data;
internal static class ZoneBoundaryOverrides
{
public static readonly IReadOnlyCollection<(ushort TerritoryA, ushort TerritoryB)> FlyingPairs = new global::_003C_003Ez__ReadOnlyArray<(ushort, ushort)>(new(ushort, ushort)[2]
{
(401, 419),
(397, 401)
});
public static readonly IReadOnlyList<ZoneBoundaryPositionOverride> PositionOverrides = new global::_003C_003Ez__ReadOnlyArray<ZoneBoundaryPositionOverride>(new ZoneBoundaryPositionOverride[73]
{
new ZoneBoundaryPositionOverride(128, 129, new Vector3(-74f, 39.246f, -121f), new Vector3(-84f, 18f, -28f)),
new ZoneBoundaryPositionOverride(128, 129, new Vector3(-7f, 42.586f, -27f), new Vector3(-7f, 20.667f, 28f)),
new ZoneBoundaryPositionOverride(128, 129, new Vector3(-96f, 35.5f, 102f), new Vector3(-90f, 21.988f, 116f)),
new ZoneBoundaryPositionOverride(129, 134, new Vector3(65f, 19.75f, 0f), new Vector3(-53f, 33.768f, 159f)),
new ZoneBoundaryPositionOverride(128, 135, new Vector3(25f, 44.5f, 182f), new Vector3(-66f, 75.842f, 116f)),
new ZoneBoundaryPositionOverride(134, 138, new Vector3(-377f, 33.111f, -603f), new Vector3(814f, 49.229f, 397f)),
new ZoneBoundaryPositionOverride(134, 135, new Vector3(212f, 65.744f, 285f), new Vector3(229f, 74.737f, -343f)),
new ZoneBoundaryPositionOverride(134, 137, new Vector3(-163f, 35.996f, -736f), new Vector3(-116f, 70.246f, 48f)),
new ZoneBoundaryPositionOverride(135, 137, new Vector3(572f, 96.436f, -525f), new Vector3(-132f, 69.846f, 744f)),
new ZoneBoundaryPositionOverride(135, 137, new Vector3(695f, 80.076f, -390f), new Vector3(246f, 56.349f, 838f)),
new ZoneBoundaryPositionOverride(137, 139, new Vector3(78f, 80.429f, -120f), new Vector3(719f, 0.174f, 216f)),
new ZoneBoundaryPositionOverride(138, 139, new Vector3(412f, 31.556f, -12f), new Vector3(-478f, 2.01f, 289f)),
new ZoneBoundaryPositionOverride(139, 180, new Vector3(-340f, 48.85f, -18f), new Vector3(-325f, 50.2f, -81f)),
new ZoneBoundaryPositionOverride(139, 180, new Vector3(286f, 42.172f, -203f), new Vector3(246f, 53.046f, -251f)),
new ZoneBoundaryPositionOverride(132, 133, new Vector3(-105f, 1.287f, 7f), new Vector3(-127f, 5.299f, -36f)),
new ZoneBoundaryPositionOverride(132, 133, new Vector3(12f, 1.256f, -16f), new Vector3(13f, 8.372f, -86f)),
new ZoneBoundaryPositionOverride(132, 133, new Vector3(102f, 5.329f, 13f), new Vector3(138f, 10.897f, -20f)),
new ZoneBoundaryPositionOverride(132, 148, new Vector3(157f, -12.989f, 158f), new Vector3(129f, 25.16f, -318f)),
new ZoneBoundaryPositionOverride(133, 154, new Vector3(-211f, 10.226f, -96f), new Vector3(457f, -1.486f, 192f)),
new ZoneBoundaryPositionOverride(148, 152, new Vector3(387f, -3.319f, -186f), new Vector3(-514f, 19.031f, 278f)),
new ZoneBoundaryPositionOverride(148, 154, new Vector3(-502f, 74.232f, -356f), new Vector3(19f, -54.794f, 532f)),
new ZoneBoundaryPositionOverride(148, 153, new Vector3(160f, -23.874f, 552f), new Vector3(-369f, 29.987f, -244f)),
new ZoneBoundaryPositionOverride(152, 153, new Vector3(-160f, 4f, 451f), new Vector3(278f, 11.017f, -260f)),
new ZoneBoundaryPositionOverride(145, 153, new Vector3(371f, 32.883f, -298f), new Vector3(-287f, -0.348f, 700f)),
new ZoneBoundaryPositionOverride(154, 155, new Vector3(-370f, -4.539f, 184f), new Vector3(10f, 181.363f, 589f)),
new ZoneBoundaryPositionOverride(155, 156, new Vector3(-219f, 217.069f, 711f), new Vector3(127f, 31.384f, -773f)),
new ZoneBoundaryPositionOverride(147, 156, new Vector3(-96f, 84.427f, -417f), new Vector3(-419f, -3.217f, -116f)),
new ZoneBoundaryPositionOverride(130, 131, new Vector3(-119f, 9.829f, -9f), new Vector3(-112f, 7.526f, -9f)),
new ZoneBoundaryPositionOverride(130, 131, new Vector3(-119f, 9.831f, 9f), new Vector3(-111f, 7.194f, 9f)),
new ZoneBoundaryPositionOverride(130, 131, new Vector3(-11f, 10f, -40f), new Vector3(-9f, 10.288f, -33f)),
new ZoneBoundaryPositionOverride(130, 131, new Vector3(62f, 8.076f, -85f), new Vector3(64f, 8.076f, -83f)),
new ZoneBoundaryPositionOverride(130, 131, new Vector3(96f, 4f, -108f), new Vector3(92f, 4f, -111f)),
new ZoneBoundaryPositionOverride(130, 140, new Vector3(-182f, 14.006f, -14f), new Vector3(473f, 96.621f, 160f)),
new ZoneBoundaryPositionOverride(130, 141, new Vector3(44f, 4.01f, -165f), new Vector3(-117f, 18.366f, 340f)),
new ZoneBoundaryPositionOverride(131, 141, new Vector3(165f, 4.01f, 44f), new Vector3(12f, 18.365f, 564f)),
new ZoneBoundaryPositionOverride(140, 141, new Vector3(262f, 53.511f, -11f), new Vector3(-407f, -1.62f, 99f)),
new ZoneBoundaryPositionOverride(141, 145, new Vector3(451f, -18f, -180f), new Vector3(-567f, -18.959f, 340f)),
new ZoneBoundaryPositionOverride(141, 147, new Vector3(-28f, 33f, -496f), new Vector3(37f, 6.127f, 514f)),
new ZoneBoundaryPositionOverride(141, 146, new Vector3(234f, 2.751f, 675f), new Vector3(-429f, 12.863f, -428f)),
new ZoneBoundaryPositionOverride(145, 146, new Vector3(-169f, -46.446f, 491f), new Vector3(-28f, 17.296f, -769f)),
new ZoneBoundaryPositionOverride(397, 418, new Vector3(468f, 224.429f, 884f), new Vector3(-191f, 14.727f, -60f)),
new ZoneBoundaryPositionOverride(418, 419, new Vector3(-154f, 32.286f, -145f), new Vector3(-317f, -26.296f, -62f)),
new ZoneBoundaryPositionOverride(418, 419, new Vector3(-56f, 21.592f, -99f), new Vector3(-14f, -13.754f, -65f)),
new ZoneBoundaryPositionOverride(418, 419, new Vector3(52f, 30.716f, -83f), new Vector3(14f, -13.754f, -65f)),
new ZoneBoundaryPositionOverride(418, 419, new Vector3(158f, -19.477f, 53f), new Vector3(262f, -13.735f, -105f)),
new ZoneBoundaryPositionOverride(401, 419, new Vector3(-942f, -226.936f, -291f), new Vector3(175f, -14.501f, 43f)),
new ZoneBoundaryPositionOverride(401, 419, new Vector3(-633f, -224.093f, 860f), new Vector3(150f, -14.5f, 52f)),
new ZoneBoundaryPositionOverride(397, 401, new Vector3(455f, 130.8f, -915f), new Vector3(-890f, -227.259f, -889f)),
new ZoneBoundaryPositionOverride(397, 398, new Vector3(-852f, 117.683f, -658f), new Vector3(874f, -3.146f, 352f)),
new ZoneBoundaryPositionOverride(397, 399, new Vector3(-158f, 221.953f, 744f), new Vector3(766f, 290.146f, 507f)),
new ZoneBoundaryPositionOverride(398, 399, new Vector3(-803f, -122.91f, 578f), new Vector3(913f, 163.418f, 191f)),
new ZoneBoundaryPositionOverride(399, 478, new Vector3(-231f, 107.323f, -636f), new Vector3(71f, 205f, 147f)),
new ZoneBoundaryPositionOverride(399, 478, new Vector3(-545f, 156.293f, -522f), new Vector3(149f, 207f, 118f)),
new ZoneBoundaryPositionOverride(612, 635, new Vector3(486f, 61.699f, -559f), new Vector3(-31f, 12.681f, 167f)),
new ZoneBoundaryPositionOverride(620, 635, new Vector3(-662f, 51.124f, -795f), new Vector3(132f, -0.504f, -4f)),
new ZoneBoundaryPositionOverride(612, 620, new Vector3(853f, 85.714f, 366f), new Vector3(-795f, 296.793f, 215f)),
new ZoneBoundaryPositionOverride(620, 621, new Vector3(594f, 343.049f, 420f), new Vector3(-791f, 46.5f, -16f)),
new ZoneBoundaryPositionOverride(613, 628, new Vector3(881f, 1.179f, 883f), new Vector3(-137f, -7f, -59f)),
new ZoneBoundaryPositionOverride(613, 614, new Vector3(-829f, 20.259f, -261f), new Vector3(839f, 99.633f, -428f)),
new ZoneBoundaryPositionOverride(613, 622, new Vector3(-745f, -2.049f, -869f), new Vector3(544f, -21.838f, 703f)),
new ZoneBoundaryPositionOverride(614, 622, new Vector3(514f, 19.45f, -885f), new Vector3(-163f, 0.607f, 856f)),
new ZoneBoundaryPositionOverride(813, 819, new Vector3(836f, 37.693f, 407f), new Vector3(-246f, -3.09f, 0f)),
new ZoneBoundaryPositionOverride(813, 817, new Vector3(884f, 42.46f, -291f), new Vector3(-818f, 0.3f, 748f)),
new ZoneBoundaryPositionOverride(813, 815, new Vector3(536f, -5.653f, 868f), new Vector3(-621f, 60.577f, -678f)),
new ZoneBoundaryPositionOverride(813, 816, new Vector3(-325f, 116.469f, -839f), new Vector3(-696f, 111.428f, 841f)),
new ZoneBoundaryPositionOverride(814, 820, new Vector3(174f, 58.982f, 884f), new Vector3(0f, -17.306f, -166f)),
new ZoneBoundaryPositionOverride(957, 963, new Vector3(580f, 55.259f, -685f), new Vector3(102f, -32f, 228f)),
new ZoneBoundaryPositionOverride(1185, 1188, new Vector3(-300f, 0f, 130f), new Vector3(-286f, 14.085f, -856f)),
new ZoneBoundaryPositionOverride(1185, 1187, new Vector3(-272.321f, 1.7377548E-05f, 95.65973f), new Vector3(664f, -122.382f, -456f)),
new ZoneBoundaryPositionOverride(1187, 1188, new Vector3(734f, 72.722f, 638f), new Vector3(-900f, 143.041f, 475f)),
new ZoneBoundaryPositionOverride(1186, 1191, new Vector3(0f, -5.95f, 302f), new Vector3(-293f, 52.353f, -866f)),
new ZoneBoundaryPositionOverride(1190, 1191, new Vector3(-658f, 14.024f, -694f), new Vector3(657f, 147.219f, 758f)),
new ZoneBoundaryPositionOverride(1185, 1190, new Vector3(42.59336f, 47.072277f, -401.224f), new Vector3(285f, 15.741f, 807f))
});
}

View file

@ -0,0 +1,145 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace SmartNav.Data;
internal sealed record ZoneBoundaryPositionOverride(ushort TerritoryA, ushort TerritoryB, Vector3 PositionA, Vector3 PositionB)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202A_206A_200B_206E_206E_206B_200B_206A_200E_200B_206B_206A_206C_206C_206D_200D_206E_200E_200D_200C_202E_200B_202E_202A_200B_200C_200E_200B_200F_202C_206E_200C_200C_202B_206C_206D_202A_200C_200E_200C_202E(typeof(ZoneBoundaryPositionOverride).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _202A_202D_202A_206A_206F_206D_200B_206E_200C_206D_206A_200E_200F_200C_202B_202C_206A_206B_202A_206B_200B_206A_202D_206D_206A_206F_200D_202C_206B_206A_200D_200C_200C_206C_202D_200C_200B_200E_202C_202E_202E();
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(128434039));
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(1547267250));
int num = ((!PrintMembers(stringBuilder)) ? 377403111 : 377403110);
while (true)
{
int num2 = num;
int num3 = 377403111;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = 377403110;
break;
case 1:
_200B_206D_206F_200B_200B_206F_202D_206A_200C_202E_202B_200F_200D_200C_200F_202C_206E_202D_206F_200D_202A_202D_206B_200B_200B_200E_202C_202C_206E_202B_200C_206E_206D_202E_202C_200D_200D_206E_206E_206E_202E(stringBuilder, ' ');
num = 377403111;
break;
case 0:
_200B_206D_206F_200B_200B_206F_202D_206A_200C_202E_202B_200F_200D_200C_200F_202C_206E_202D_206F_200D_202A_202D_206B_200B_200B_200E_202C_202C_206E_202B_200C_206E_206D_202E_202C_200D_200D_206E_206E_206E_202E(stringBuilder, '}');
return _206F_206A_202C_202C_206E_206D_202C_202C_200C_200C_200E_202B_206E_206E_202A_200D_206C_206D_206B_202C_202B_200B_200C_206F_206C_202D_200B_206C_202A_202C_202E_202E_206B_200B_200B_206D_206A_206B_200F_206E_202E((object)stringBuilder);
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200D_206B_200F_200E_206C_202A_202A_200F_206F_200C_200C_202A_200B_202C_200D_202C_206E_202A_202D_202D_206E_200B_206C_200E_206D_202D_202D_206E_202C_206A_202E_200C_206A_200C_200E_206B_202B_206D_206B_202A_202E();
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-1709044676));
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, TerritoryA.ToString());
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(1792963311));
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, TerritoryB.ToString());
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(1559417746));
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, PositionA.ToString());
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E<string>(900245019));
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, PositionB.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(ZoneBoundaryPositionOverride? other)
{
int num = (((object)this == other) ? 975251074 : 975251072);
while (true)
{
int num2 = num;
int num3 = 975251074;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryA, other.TerritoryA)) ? 975251073 : 975251077);
break;
case 7:
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryB, other.TerritoryB)) ? 975251073 : 975251076);
break;
case 1:
num = ((!_202C_202A_200E_200C_206D_206A_206D_202C_206C_206A_200D_200C_202C_202B_202D_200E_202B_200D_202B_202C_202C_200C_200F_200B_202B_200C_202E_202D_202E_200E_200F_200F_202D_206B_206D_202C_206E_200E_206E_202A_202E(EqualityContract, other.EqualityContract)) ? 975251073 : 975251078);
break;
case 0:
return true;
case 2:
num = (((object)other == null) ? 975251073 : 975251075);
break;
case 5:
num = 975251072;
break;
case 8:
return EqualityComparer<Vector3>.Default.Equals(PositionB, other.PositionB);
case 3:
return false;
case 6:
num = ((!EqualityComparer<Vector3>.Default.Equals(PositionA, other.PositionA)) ? 975251073 : 975251082);
break;
}
}
}
bool IEquatable<ZoneBoundaryPositionOverride>.Equals(ZoneBoundaryPositionOverride? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202A_206A_200B_206E_206E_206B_200B_206A_200E_200B_206B_206A_206C_206C_206D_200D_206E_200E_200D_200C_202E_200B_202E_202A_200B_200C_200E_200B_200F_202C_206E_200C_200C_202B_206C_206D_202A_200C_200E_200C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _202A_202D_202A_206A_206F_206D_200B_206E_200C_206D_206A_200E_200F_200C_202B_202C_206A_206B_202A_206B_200B_206A_202D_206D_206A_206F_200D_202C_206B_206A_200D_200C_200C_206C_202D_200C_200B_200E_202C_202E_202E()
{
return new StringBuilder();
}
static StringBuilder _206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _200B_206D_206F_200B_200B_206F_202D_206A_200C_202E_202B_200F_200D_200C_200F_202C_206E_202D_206F_200D_202A_202D_206B_200B_200B_200E_202C_202C_206E_202B_200C_206E_206D_202E_202C_200D_200D_206E_206E_206E_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _206F_206A_202C_202C_206E_206D_202C_202C_200C_200C_200E_202B_206E_206E_202A_200D_206C_206D_206B_202C_202B_200B_200C_206F_206C_202D_200B_206C_202A_202C_202E_202E_206B_200B_200B_206D_206A_206B_200F_206E_202E(object P_0)
{
return P_0.ToString();
}
static void _200D_206B_200F_200E_206C_202A_202A_200F_206F_200C_200C_202A_200B_202C_200D_202C_206E_202A_202D_202D_206E_200B_206C_200E_206D_202D_202D_206E_202C_206A_202E_200C_206A_200C_200E_206B_202B_206D_206B_202A_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static bool _202C_202A_200E_200C_206D_206A_206D_202C_206C_206A_200D_200C_202C_202B_202D_200E_202B_200D_202B_202C_202C_200C_200F_200B_202B_200C_202E_202D_202E_200E_200F_200F_202D_206B_206D_202C_206E_200E_206E_202A_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

View file

@ -0,0 +1,199 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Runtime.CompilerServices;
using Microsoft.Extensions.Logging;
using SmartNav.Model.Navigation;
namespace SmartNav.Data;
public sealed class ZoneSubRegionService
{
private readonly Dictionary<uint, TerritorySubRegions> _regions = new Dictionary<uint, TerritorySubRegions>();
public IReadOnlyDictionary<uint, TerritorySubRegions> AllRegions => _regions;
[MethodImpl(MethodImplOptions.NoInlining)]
public ZoneSubRegionService(SmartNavDataOptions dataOptions, ILogger<ZoneSubRegionService> logger)
{
DirectoryInfo? devSourceDirectory = dataOptions.DevSourceDirectory;
IEnumerator<KeyValuePair<string, TerritorySubRegions>> enumerator = _206A_202C_202C_200B_206D_202D_200F_200F_200B_206E_200C_202B_200F_206E_206B_202E_202E_202C_200E_200E_206A_206D_202A_200C_200C_202D_206D_202E_200E_200C_206A_202E_200D_200F_202D_206A_206D_206F_200E_206C_202E((devSourceDirectory != null) ? _200D_202A_206E_200F_202A_206C_206B_206C_206E_206A_202C_206F_206B_202C_202E_206C_200C_200F_200F_200D_206A_206B_206F_206B_206D_202A_202E_200F_202C_206D_200B_206B_206A_200C_200F_202A_202A_200E_200C_202B_202E((FileSystemInfo)devSourceDirectory) : null).GetEnumerator();
try
{
while (_206A_200B_200B_206A_202C_202D_202D_202D_206F_206A_200F_206C_206F_202A_200D_202E_200D_200F_200B_200F_206D_202C_200E_200D_200B_206E_206B_206E_200E_206D_202E_200D_202C_206C_206C_202B_206B_206B_206B_206D_202E((IEnumerator)enumerator))
{
var (s, value) = (KeyValuePair<string, TerritorySubRegions>)(ref enumerator.Current);
if (uint.TryParse(s, out var result))
{
_regions[result] = value;
}
}
}
finally
{
if (enumerator != null)
{
_202E_202A_202C_202A_206F_202E_200B_206E_202D_206F_200D_202E_206D_202D_206A_206F_202B_200D_202C_202D_200D_200B_206A_200E_202C_206C_200D_202B_206D_202D_200D_202E_202A_202B_202A_206F_200D_206C_200E_206B_202E((IDisposable)enumerator);
}
}
_200E_202C_200B_200F_202C_200D_206B_200B_202A_206F_206B_202B_206F_200C_202E_200D_200B_202B_200C_206A_206D_206B_202A_202B_200C_200B_202D_206E_202D_202E_206E_206E_200B_200D_200F_200E_200E_206D_200E_200F_202E((ILogger)logger, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E<string>(-1099723978), new object[1] { _regions.Count });
}
public bool HasSubRegions(uint territoryId)
{
return _regions.ContainsKey(territoryId);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public string? GetSubRegionId(uint territoryId, float x, float y, float z)
{
int num = (_regions.TryGetValue(territoryId, out TerritorySubRegions value) ? 728841310 : 728841311);
SubRegionDefinition current = default(SubRegionDefinition);
while (true)
{
int num2 = num;
int num3 = 728841310;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto IL_0057;
case 1:
return null;
case 0:
{
using (List<SubRegionDefinition>.Enumerator enumerator = _206C_202E_200E_202E_206C_206D_206C_202E_202E_206A_200C_206F_206C_202A_202A_206A_200D_200F_206C_200D_202D_202B_206C_206F_200F_202D_206F_200E_202D_202E_202E_202D_202C_202E_202D_206E_200B_206B_202D_206A_202E(value).GetEnumerator())
{
num = 607334794;
while (true)
{
int num5 = num;
num3 = 607334794;
num4 = num5;
int num6 = num4 + num3;
int num7 = num4 & num3;
switch (num6 - (num7 + num7))
{
case 0:
num = (enumerator.MoveNext() ? 607334798 : 607334792);
break;
case 4:
current = enumerator.Current;
num = ((!_202E_200C_202A_206E_206C_202E_206F_202B_200F_202C_206E_202E_206D_200D_202B_200D_202C_206C_202B_206B_206A_202C_200D_200D_202B_202C_202D_200B_200C_200C_200D_202B_202B_202A_200F_206B_206F_206E_202D_202D_202E(current, x, y, z)) ? 607334794 : 607334795);
break;
case 3:
num = 607334794;
break;
case 1:
return _206D_200C_202E_206A_206F_200B_202D_202B_206D_206E_206E_200F_206C_206E_206E_200F_202D_206E_202E_206C_206E_202E_202B_202A_206E_206B_202C_202D_200E_202B_200F_206E_200B_202A_200C_206E_200C_202C_202B_200F_202E(current);
case 2:
goto end_IL_007d;
}
continue;
end_IL_007d:
break;
}
}
return global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-1484802432);
}
}
continue;
IL_0057:
num = 728841311;
}
}
public IReadOnlyList<SubRegionDefinition>? GetSubRegions(uint territoryId)
{
TerritorySubRegions value;
int num = (_regions.TryGetValue(territoryId, out value) ? 1403983688 : 1403983691);
while (true)
{
int num2 = num;
int num3 = 1403983689;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_004e;
case 2:
return null;
case 1:
return _206C_202E_200E_202E_206C_206D_206C_202E_202E_206A_200C_206F_206C_202A_202A_206A_200D_200F_206C_200D_202D_202B_206C_206F_200F_202D_206F_200E_202D_202E_202E_202D_202C_202E_202D_206E_200B_206B_202D_206A_202E(value);
}
continue;
IL_004e:
num = 1403983691;
}
}
public IReadOnlyList<SubRegionConnector>? GetConnectors(uint territoryId)
{
TerritorySubRegions value;
int num = (_regions.TryGetValue(territoryId, out value) ? 240767514 : 240767513);
while (true)
{
int num2 = num;
int num3 = 240767515;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_004e;
case 1:
return _202B_202E_206A_206C_202D_200B_202B_206A_202E_200E_200C_206D_206D_200E_206C_206E_206D_200D_206F_206C_206D_202D_200E_206F_202E_202E_200E_200F_202A_202E_206D_202A_200F_202E_200D_202A_206A_202D_202A_206E_202E(value);
case 2:
return null;
}
continue;
IL_004e:
num = 240767513;
}
}
static string _200D_202A_206E_200F_202A_206C_206B_206C_206E_206A_202C_206F_206B_202C_202E_206C_200C_200F_200F_200D_206A_206B_206F_206B_206D_202A_202E_200F_202C_206D_200B_206B_206A_200C_200F_202A_202A_200E_200C_202B_202E(FileSystemInfo P_0)
{
return P_0.FullName;
}
static IReadOnlyDictionary<string, TerritorySubRegions> _206A_202C_202C_200B_206D_202D_200F_200F_200B_206E_200C_202B_200F_206E_206B_202E_202E_202C_200E_200E_206A_206D_202A_200C_200C_202D_206D_202E_200E_200C_206A_202E_200D_200F_202D_206A_206D_206F_200E_206C_202E(string P_0)
{
return AssemblyZoneSubRegionLoader.GetRegions(P_0);
}
static bool _206A_200B_200B_206A_202C_202D_202D_202D_206F_206A_200F_206C_206F_202A_200D_202E_200D_200F_200B_200F_206D_202C_200E_200D_200B_206E_206B_206E_200E_206D_202E_200D_202C_206C_206C_202B_206B_206B_206B_206D_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _202E_202A_202C_202A_206F_202E_200B_206E_202D_206F_200D_202E_206D_202D_206A_206F_202B_200D_202C_202D_200D_200B_206A_200E_202C_206C_200D_202B_206D_202D_200D_202E_202A_202B_202A_206F_200D_206C_200E_206B_202E(IDisposable P_0)
{
P_0.Dispose();
}
static void _200E_202C_200B_200F_202C_200D_206B_200B_202A_206F_206B_202B_206F_200C_202E_200D_200B_202B_200C_206A_206D_206B_202A_202B_200C_200B_202D_206E_202D_202E_206E_206E_200B_200D_200F_200E_200E_206D_200E_200F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static List<SubRegionDefinition> _206C_202E_200E_202E_206C_206D_206C_202E_202E_206A_200C_206F_206C_202A_202A_206A_200D_200F_206C_200D_202D_202B_206C_206F_200F_202D_206F_200E_202D_202E_202E_202D_202C_202E_202D_206E_200B_206B_202D_206A_202E(TerritorySubRegions P_0)
{
return P_0.SubRegions;
}
static bool _202E_200C_202A_206E_206C_202E_206F_202B_200F_202C_206E_202E_206D_200D_202B_200D_202C_206C_202B_206B_206A_202C_200D_200D_202B_202C_202D_200B_200C_200C_200D_202B_202B_202A_200F_206B_206F_206E_202D_202D_202E(SubRegionDefinition P_0, float P_1, float P_2, float P_3)
{
return P_0.Contains(P_1, P_2, P_3);
}
static string _206D_200C_202E_206A_206F_200B_202D_202B_206D_206E_206E_200F_206C_206E_206E_200F_202D_206E_202E_206C_206E_202E_202B_202A_206E_206B_202C_202D_200E_202B_200F_206E_200B_202A_200C_206E_200C_202C_202B_200F_202E(SubRegionDefinition P_0)
{
return P_0.Id;
}
static List<SubRegionConnector> _202B_202E_206A_206C_202D_200B_202B_206A_202E_200E_200C_206D_206D_200E_206C_206E_206D_200D_206F_206C_206D_202D_200E_206F_202E_202E_200E_200F_202A_202E_206D_202A_200F_202E_200D_202A_206A_202D_202A_206E_202E(TerritorySubRegions P_0)
{
return P_0.Connectors;
}
}