forked from aly/qstbak
muffin v7.5.11
This commit is contained in:
parent
addf2d530f
commit
3102923ce2
522 changed files with 41082 additions and 211592 deletions
|
|
@ -1,10 +1,7 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Dalamud.Plugin.Services;
|
||||
using Lumina.Excel.Sheets;
|
||||
using SmartNav.Model;
|
||||
|
|
@ -13,58 +10,6 @@ namespace SmartNav.Data;
|
|||
|
||||
public sealed class AetheryteData
|
||||
{
|
||||
[Serializable]
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec
|
||||
{
|
||||
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
|
||||
|
||||
public static Func<Aetheryte, bool> _003C_003E9__1_4;
|
||||
|
||||
public static Func<TerritoryType, bool> _003C_003E9__1_2;
|
||||
|
||||
public static Func<TerritoryType, ushort> _003C_003E9__1_3;
|
||||
|
||||
internal bool _003C_002Ector_003Eb__1_4(Aetheryte x)
|
||||
{
|
||||
return x.RowId != 0;
|
||||
}
|
||||
|
||||
internal bool _003C_002Ector_003Eb__1_2(TerritoryType x)
|
||||
{
|
||||
int num = ((x.RowId == 0) ? 1435581385 : 1435581386);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1435581387;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 3:
|
||||
return x.TerritoryIntendedUse.RowId == 0;
|
||||
case 1:
|
||||
num = (_202E_200B_202A_200C_200D_202B_206E_206A_200C_206B_200D_200D_206F_206B_202A_202A_206B_202A_200D_206C_206E_206F_202C_200F_202C_206A_206B_206F_202E_202B_202A_202E_206C_202C_206E_202B_200E_200D_202A_202C_202E(x.Name.ToString()) ? 1435581385 : 1435581384);
|
||||
break;
|
||||
case 2:
|
||||
return false;
|
||||
case 0:
|
||||
num = 1435581386;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal ushort _003C_002Ector_003Eb__1_3(TerritoryType x)
|
||||
{
|
||||
return (ushort)x.RowId;
|
||||
}
|
||||
|
||||
static bool _202E_200B_202A_200C_200D_202B_206E_206A_200C_206B_200D_200D_206F_206B_202A_202A_206B_202A_200D_206C_206E_206F_202C_200F_202C_206A_206B_206F_202E_202B_202A_202E_206C_202C_206E_202B_200E_200D_202A_202C_202E(string P_0)
|
||||
{
|
||||
return string.IsNullOrEmpty(P_0);
|
||||
}
|
||||
}
|
||||
|
||||
public ReadOnlyDictionary<EAetheryteLocation, Vector3> Locations { get; } = new Dictionary<EAetheryteLocation, Vector3>
|
||||
{
|
||||
{
|
||||
|
|
@ -1026,29 +971,17 @@ public sealed class AetheryteData
|
|||
{
|
||||
Dictionary<EAetheryteLocation, ushort> territoryIds = new Dictionary<EAetheryteLocation, ushort>();
|
||||
Dictionary<EAetheryteLocation, ushort> aethernetGroups = new Dictionary<EAetheryteLocation, ushort>();
|
||||
IEnumerator<Aetheryte> enumerator = (from x in dataManager.GetExcelSheet<Aetheryte>()
|
||||
foreach (Aetheryte item in from x in dataManager.GetExcelSheet<Aetheryte>()
|
||||
where x.RowId != 0
|
||||
select x).GetEnumerator();
|
||||
try
|
||||
select x)
|
||||
{
|
||||
while (_206F_200C_200E_200C_200E_200B_206B_200C_200F_200E_206C_200F_202A_202D_206E_200B_202A_202B_206E_206F_200F_202B_206D_202A_200C_202C_206B_206A_206B_200F_200F_200D_200C_206E_202D_206D_206F_200E_202B_200E_202E((IEnumerator)enumerator))
|
||||
if (item.Territory.RowId != 0)
|
||||
{
|
||||
Aetheryte current = enumerator.Current;
|
||||
if (current.Territory.RowId != 0)
|
||||
{
|
||||
territoryIds[(EAetheryteLocation)current.RowId] = (ushort)current.Territory.RowId;
|
||||
}
|
||||
if (current.AethernetGroup > 0)
|
||||
{
|
||||
aethernetGroups[(EAetheryteLocation)current.RowId] = current.AethernetGroup;
|
||||
}
|
||||
territoryIds[(EAetheryteLocation)item.RowId] = (ushort)item.Territory.RowId;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (enumerator != null)
|
||||
if (item.AethernetGroup > 0)
|
||||
{
|
||||
_202A_200D_206E_202B_206E_202C_200F_202D_200D_206B_206E_206E_206C_200E_202C_200D_202D_206B_206C_202C_202B_206A_202B_206C_206D_202A_202B_200D_202E_206C_206A_206D_202A_206F_206E_206E_200C_202D_206C_206C_202E((IDisposable)enumerator);
|
||||
aethernetGroups[(EAetheryteLocation)item.RowId] = item.AethernetGroup;
|
||||
}
|
||||
}
|
||||
ConfigureAetheryte(EAetheryteLocation.IshgardFirmament, 886, aethernetGroups[EAetheryteLocation.Ishgard]);
|
||||
|
|
@ -1062,29 +995,8 @@ public sealed class AetheryteData
|
|||
ConfigureAetheryteWithAutoGroup(EAetheryteLocation.FirmamentEasternRisensongQuarter, 886);
|
||||
TerritoryIds = territoryIds.AsReadOnly();
|
||||
AethernetGroups = aethernetGroups.AsReadOnly();
|
||||
TownTerritoryIds = (from x in dataManager.GetExcelSheet<TerritoryType>().Where(delegate(TerritoryType x)
|
||||
{
|
||||
int num = ((x.RowId == 0) ? 1435581385 : 1435581386);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1435581387;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 3:
|
||||
return x.TerritoryIntendedUse.RowId == 0;
|
||||
case 1:
|
||||
num = (_003C_003Ec._202E_200B_202A_200C_200D_202B_206E_206A_200C_206B_200D_200D_206F_206B_202A_202A_206B_202A_200D_206C_206E_206F_202C_200F_202C_206A_206B_206F_202E_202B_202A_202E_206C_202C_206E_202B_200E_200D_202A_202C_202E(x.Name.ToString()) ? 1435581385 : 1435581384);
|
||||
break;
|
||||
case 2:
|
||||
return false;
|
||||
case 0:
|
||||
num = 1435581386;
|
||||
break;
|
||||
}
|
||||
}
|
||||
})
|
||||
TownTerritoryIds = (from x in dataManager.GetExcelSheet<TerritoryType>()
|
||||
where x.RowId != 0 && !string.IsNullOrEmpty(x.Name.ToString()) && x.TerritoryIntendedUse.RowId == 0
|
||||
select (ushort)x.RowId).ToList();
|
||||
void ConfigureAetheryte(EAetheryteLocation aetheryteLocation, ushort territoryId, ushort aethernetGroup)
|
||||
{
|
||||
|
|
@ -1099,93 +1011,41 @@ public sealed class AetheryteData
|
|||
|
||||
public float CalculateDistance(Vector3 fromPosition, uint fromTerritoryType, EAetheryteLocation to)
|
||||
{
|
||||
ushort value;
|
||||
int num = ((!TerritoryIds.TryGetValue(to, out value)) ? (-1407509287) : (-1407509284));
|
||||
Vector3 value2 = default(Vector3);
|
||||
while (true)
|
||||
if (!TerritoryIds.TryGetValue(to, out var value) || fromTerritoryType != value)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1407509283;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 5:
|
||||
num = -1407509284;
|
||||
break;
|
||||
case 0:
|
||||
return float.MaxValue;
|
||||
case 2:
|
||||
num = (Locations.TryGetValue(to, out value2) ? (-1407509282) : (-1407509283));
|
||||
break;
|
||||
case 1:
|
||||
num = ((fromTerritoryType == value) ? (-1407509281) : (-1407509287));
|
||||
break;
|
||||
case 4:
|
||||
return float.MaxValue;
|
||||
case 3:
|
||||
return (fromPosition - value2).Length();
|
||||
}
|
||||
return float.MaxValue;
|
||||
}
|
||||
if (!Locations.TryGetValue(to, out var value2))
|
||||
{
|
||||
return float.MaxValue;
|
||||
}
|
||||
return (fromPosition - value2).Length();
|
||||
}
|
||||
|
||||
public float CalculateAirshipLandingDistance(Vector3 fromPosition, uint fromTerritoryType, EAetheryteLocation to)
|
||||
{
|
||||
ushort value;
|
||||
int num = ((!TerritoryIds.TryGetValue(to, out value)) ? 1034304709 : 1034304710);
|
||||
Vector3 value2 = default(Vector3);
|
||||
while (true)
|
||||
if (!TerritoryIds.TryGetValue(to, out var value) || fromTerritoryType != value)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1034304708;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 1:
|
||||
return float.MaxValue;
|
||||
case 5:
|
||||
return float.MaxValue;
|
||||
case 3:
|
||||
num = 1034304710;
|
||||
break;
|
||||
case 2:
|
||||
num = ((fromTerritoryType == value) ? 1034304708 : 1034304709);
|
||||
break;
|
||||
case 0:
|
||||
num = (AirshipLandingLocations.TryGetValue(to, out value2) ? 1034304704 : 1034304705);
|
||||
break;
|
||||
case 4:
|
||||
return (fromPosition - value2).Length();
|
||||
}
|
||||
return float.MaxValue;
|
||||
}
|
||||
if (!AirshipLandingLocations.TryGetValue(to, out var value2))
|
||||
{
|
||||
return float.MaxValue;
|
||||
}
|
||||
return (fromPosition - value2).Length();
|
||||
}
|
||||
|
||||
public bool IsCityAetheryte(EAetheryteLocation aetheryte)
|
||||
{
|
||||
int num = ((aetheryte != EAetheryteLocation.IshgardFirmament) ? 819559610 : 819559608);
|
||||
ushort value = default(ushort);
|
||||
while (true)
|
||||
if (aetheryte == EAetheryteLocation.IshgardFirmament)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 819559609;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 4:
|
||||
num = 819559608;
|
||||
break;
|
||||
case 1:
|
||||
return true;
|
||||
case 2:
|
||||
return TownTerritoryIds.Contains(value);
|
||||
case 0:
|
||||
return false;
|
||||
case 3:
|
||||
num = ((!TerritoryIds.TryGetValue(aetheryte, out value)) ? 819559609 : 819559611);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (TerritoryIds.TryGetValue(aetheryte, out var value))
|
||||
{
|
||||
return TownTerritoryIds.Contains(value);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool IsAirshipLanding(EAetheryteLocation aetheryte)
|
||||
|
|
@ -1197,51 +1057,11 @@ public sealed class AetheryteData
|
|||
{
|
||||
ushort value;
|
||||
bool flag = TerritoryIds.TryGetValue(aetheryte, out value);
|
||||
int num = ((!flag) ? 1444610048 : 1444610051);
|
||||
bool flag2 = default(bool);
|
||||
while (true)
|
||||
if (flag)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1444610054;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
num = ((value != 388) ? 1444610050 : 1444610055);
|
||||
break;
|
||||
case 4:
|
||||
flag2 = false;
|
||||
num = 1444610053;
|
||||
break;
|
||||
case 3:
|
||||
flag = flag2;
|
||||
num = 1444610048;
|
||||
break;
|
||||
case 6:
|
||||
return flag;
|
||||
case 5:
|
||||
num = ((value == 144) ? 1444610055 : 1444610054);
|
||||
break;
|
||||
case 2:
|
||||
num = 1444610051;
|
||||
break;
|
||||
case 1:
|
||||
flag2 = true;
|
||||
num = 1444610053;
|
||||
break;
|
||||
}
|
||||
bool flag2 = ((value == 144 || value == 388) ? true : false);
|
||||
flag = flag2;
|
||||
}
|
||||
}
|
||||
|
||||
static bool _206F_200C_200E_200C_200E_200B_206B_200C_200F_200E_206C_200F_202A_202D_206E_200B_202A_202B_206E_206F_200F_202B_206D_202A_200C_202C_206B_206A_206B_200F_200F_200D_200C_206E_202D_206D_206F_200E_202B_200E_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _202A_200D_206E_202B_206E_202C_200F_202D_200D_206B_206E_206E_206C_200E_202C_200D_202D_206B_206C_202C_202B_206A_202B_206C_206D_202A_202B_200D_202E_206C_206A_206D_202A_206F_206E_206E_200C_202D_206C_206C_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
return flag;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,169 +1,5 @@
|
|||
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;
|
||||
}
|
||||
}
|
||||
internal sealed record ExitRangeEntry(ushort SourceTerritoryId, uint InstanceId, Vector3 SourcePosition, ushort DestTerritoryId, uint DestInstanceId, uint ReturnInstanceId, Vector3 Rotation = default(Vector3), Vector3 HalfExtents = default(Vector3));
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Threading;
|
||||
using Dalamud.Plugin.Services;
|
||||
using LLib.GameData;
|
||||
|
|
@ -16,16 +16,28 @@ namespace SmartNav.Data;
|
|||
|
||||
public sealed class LgbZoneBoundarySource : IZoneBoundarySource
|
||||
{
|
||||
private const uint BoundaryFileMagic = 1112425562u;
|
||||
|
||||
private const int BoundaryFileFormatVersion = 1;
|
||||
|
||||
private const string CacheFileName = "zone-boundary-cache.bin";
|
||||
|
||||
private readonly IDataManager _dataManager;
|
||||
|
||||
private readonly ILogger<LgbZoneBoundarySource> _logger;
|
||||
|
||||
private readonly Lazy<IReadOnlyList<ZoneBoundary>> _boundaries;
|
||||
|
||||
public LgbZoneBoundarySource(IDataManager dataManager, ILogger<LgbZoneBoundarySource> logger)
|
||||
private readonly string? _cacheDirectory;
|
||||
|
||||
private readonly string? _gameVersion;
|
||||
|
||||
public LgbZoneBoundarySource(IDataManager dataManager, ILogger<LgbZoneBoundarySource> logger, SmartNavDataOptions? dataOptions = null)
|
||||
{
|
||||
_dataManager = dataManager;
|
||||
_logger = logger;
|
||||
_cacheDirectory = dataOptions?.UserOverrideDirectory?.FullName;
|
||||
_gameVersion = dataOptions?.GameVersion;
|
||||
_boundaries = new Lazy<IReadOnlyList<ZoneBoundary>>(Build, LazyThreadSafetyMode.ExecutionAndPublication);
|
||||
}
|
||||
|
||||
|
|
@ -34,378 +46,195 @@ public sealed class LgbZoneBoundarySource : IZoneBoundarySource
|
|||
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<ExitRangeEntry>, Dictionary<(ushort, uint), PopRangeEntry>)? tuple = TryLoadFromDisk();
|
||||
if (!tuple.HasValue)
|
||||
{
|
||||
_logger.LogInformation("No boundary cache found, falling back to in-process LGB scan");
|
||||
}
|
||||
(List<ExitRangeEntry>, Dictionary<(ushort, uint), PopRangeEntry>) obj = tuple ?? CollectLgbData();
|
||||
List<ExitRangeEntry> item = obj.Item1;
|
||||
Dictionary<(ushort, uint), PopRangeEntry> item2 = obj.Item2;
|
||||
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 });
|
||||
_logger.LogDebug("Derived {Count} zone boundaries from {ExitCount} ExitRanges{Source}", list.Count, item.Count, tuple.HasValue ? " (from cache)" : "");
|
||||
return list;
|
||||
}
|
||||
catch (Exception ex)
|
||||
catch (Exception exception)
|
||||
{
|
||||
_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>());
|
||||
_logger.LogError(exception, "Zone boundary derivation failed - building graph without boundary edges");
|
||||
return Array.Empty<ZoneBoundary>();
|
||||
}
|
||||
}
|
||||
|
||||
private (List<ExitRangeEntry> ExitRanges, Dictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> PopRangeIndex)? TryLoadFromDisk()
|
||||
{
|
||||
if (string.IsNullOrEmpty(_cacheDirectory) || string.IsNullOrEmpty(_gameVersion))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
string path = Path.Combine(_cacheDirectory, "zone-boundary-cache.bin");
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
try
|
||||
{
|
||||
using BinaryReader binaryReader = new BinaryReader(File.OpenRead(path));
|
||||
if (binaryReader.ReadUInt32() != 1112425562 || binaryReader.ReadInt32() != 1)
|
||||
{
|
||||
_logger.LogDebug("Zone boundary cache has unknown header, discarding");
|
||||
return null;
|
||||
}
|
||||
if (binaryReader.ReadString() != _gameVersion)
|
||||
{
|
||||
_logger.LogDebug("Zone boundary cache is for a different game version, discarding");
|
||||
return null;
|
||||
}
|
||||
int num = binaryReader.ReadInt32();
|
||||
List<ExitRangeEntry> list = new List<ExitRangeEntry>(num);
|
||||
for (int i = 0; i < num; i++)
|
||||
{
|
||||
list.Add(new ExitRangeEntry(binaryReader.ReadUInt16(), binaryReader.ReadUInt32(), new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle()), binaryReader.ReadUInt16(), binaryReader.ReadUInt32(), binaryReader.ReadUInt32(), new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle()), new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle())));
|
||||
}
|
||||
int num2 = binaryReader.ReadInt32();
|
||||
Dictionary<(ushort, uint), PopRangeEntry> dictionary = new Dictionary<(ushort, uint), PopRangeEntry>(num2);
|
||||
for (int j = 0; j < num2; j++)
|
||||
{
|
||||
ushort num3 = binaryReader.ReadUInt16();
|
||||
uint num4 = binaryReader.ReadUInt32();
|
||||
Vector3 position = new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle());
|
||||
dictionary[(num3, num4)] = new PopRangeEntry(num3, num4, position);
|
||||
}
|
||||
_logger.LogDebug("Zone boundary cache loaded from disk ({ExitCount} exits, {PopCount} pops)", list.Count, dictionary.Count);
|
||||
return (list, dictionary);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
_logger.LogWarning(exception, "Failed to load zone boundary cache, falling back to LGB scan");
|
||||
}
|
||||
try
|
||||
{
|
||||
File.Delete(path);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
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())
|
||||
foreach (Aetheryte item in _dataManager.GetExcelSheet<Aetheryte>())
|
||||
{
|
||||
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;
|
||||
}
|
||||
hashSet.Add(item.Territory.RowId);
|
||||
}
|
||||
ExcelSheet<TerritoryType> excelSheet = _dataManager.GetExcelSheet<TerritoryType>();
|
||||
HashSet<string> visitedLgbPaths = new HashSet<string>();
|
||||
using (ExcelSheet<TerritoryType>.Enumerator enumerator2 = excelSheet.GetEnumerator())
|
||||
bool cacheFileResources = _dataManager.GameData.Options.CacheFileResources;
|
||||
_dataManager.GameData.Options.CacheFileResources = false;
|
||||
try
|
||||
{
|
||||
int num = -1445218693;
|
||||
TerritoryType current = default(TerritoryType);
|
||||
while (true)
|
||||
foreach (TerritoryType item2 in excelSheet)
|
||||
{
|
||||
int num5 = num;
|
||||
int num3 = -1445218689;
|
||||
int num4 = num5;
|
||||
int num6 = num4 + num3;
|
||||
int num7 = num4 & num3;
|
||||
switch (num6 - (num7 + num7))
|
||||
if (hashSet.Contains(item2.RowId))
|
||||
{
|
||||
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;
|
||||
ScanTerritory(list, dictionary, visitedLgbPaths, item2);
|
||||
}
|
||||
continue;
|
||||
end_IL_010c:
|
||||
break;
|
||||
}
|
||||
foreach (TerritoryType item3 in excelSheet)
|
||||
{
|
||||
ScanTerritory(list, dictionary, visitedLgbPaths, item3);
|
||||
}
|
||||
}
|
||||
using (ExcelSheet<TerritoryType>.Enumerator enumerator2 = excelSheet.GetEnumerator())
|
||||
finally
|
||||
{
|
||||
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;
|
||||
}
|
||||
_dataManager.GameData.Options.CacheFileResources = cacheFileResources;
|
||||
}
|
||||
return (ExitRanges: list, PopRangeIndex: dictionary);
|
||||
}
|
||||
|
||||
private static bool IsNavigableOverworld(ETerritoryIntendedUse use)
|
||||
{
|
||||
int num = ((use > ETerritoryIntendedUse.HousingOutdoor) ? (-754120289) : (-754120291));
|
||||
bool result = default(bool);
|
||||
while (true)
|
||||
switch (use)
|
||||
{
|
||||
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;
|
||||
}
|
||||
case ETerritoryIntendedUse.Town:
|
||||
case ETerritoryIntendedUse.Overworld:
|
||||
case ETerritoryIntendedUse.OpeningArea:
|
||||
case ETerritoryIntendedUse.HousingOutdoor:
|
||||
case ETerritoryIntendedUse.Firmament:
|
||||
case ETerritoryIntendedUse.SanctumOfTheTwelve:
|
||||
case ETerritoryIntendedUse.GoldSaucer:
|
||||
case ETerritoryIntendedUse.Eureka:
|
||||
case ETerritoryIntendedUse.Bozja:
|
||||
case ETerritoryIntendedUse.IslandSanctuary:
|
||||
case ETerritoryIntendedUse.CosmicExploration:
|
||||
case ETerritoryIntendedUse.OccultCrescent:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
[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)
|
||||
if (territory.RowId == 0 || !IsNavigableOverworld((ETerritoryIntendedUse)territory.TerritoryIntendedUse.RowId))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 954333091;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
return;
|
||||
}
|
||||
string text = territory.Bg.ExtractText();
|
||||
if (string.IsNullOrEmpty(text))
|
||||
{
|
||||
return;
|
||||
}
|
||||
int num = text.IndexOf("/level/", StringComparison.Ordinal);
|
||||
if (num < 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
string text2 = "bg/" + text.Substring(0, num + 1) + "level/planmap.lgb";
|
||||
if (!visitedLgbPaths.Add(text2))
|
||||
{
|
||||
return;
|
||||
}
|
||||
ushort num2 = (ushort)territory.RowId;
|
||||
LgbFile file;
|
||||
try
|
||||
{
|
||||
file = _dataManager.GetFile<LgbFile>(text2);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
_logger.LogTrace(exception, "Failed to load {Path}", text2);
|
||||
return;
|
||||
}
|
||||
if (file == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
LayerCommon.Layer[] layers = file.Layers;
|
||||
for (int i = 0; i < layers.Length; i++)
|
||||
{
|
||||
LayerCommon.InstanceObject[] instanceObjects = layers[i].InstanceObjects;
|
||||
for (int j = 0; j < instanceObjects.Length; j++)
|
||||
{
|
||||
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
|
||||
LayerCommon.InstanceObject instanceObject = instanceObjects[j];
|
||||
if (instanceObject.AssetType == LayerEntryType.ExitRange)
|
||||
{
|
||||
file = _dataManager.GetFile<LgbFile>(text);
|
||||
LayerCommon.ExitRangeInstanceObject exitRangeInstanceObject = (LayerCommon.ExitRangeInstanceObject)(object)instanceObject.Object;
|
||||
exitRanges.Add(new ExitRangeEntry(num2, 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)));
|
||||
}
|
||||
catch (Exception ex)
|
||||
else if (instanceObject.AssetType == LayerEntryType.PopRange)
|
||||
{
|
||||
_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;
|
||||
popRangeIndex[(num2, instanceObject.InstanceId)] = new PopRangeEntry(num2, instanceObject.InstanceId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z));
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,142 +1,5 @@
|
|||
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;
|
||||
}
|
||||
}
|
||||
internal sealed record PopRangeEntry(ushort TerritoryId, uint InstanceId, Vector3 Position);
|
||||
|
|
|
|||
|
|
@ -1,149 +1,5 @@
|
|||
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;
|
||||
}
|
||||
}
|
||||
public sealed record SmartNavDataOptions(DirectoryInfo? UserOverrideDirectory = null, DirectoryInfo? DevSourceDirectory = null, string? GameVersion = null);
|
||||
|
|
|
|||
|
|
@ -1,11 +1,6 @@
|
|||
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;
|
||||
|
|
@ -16,295 +11,9 @@ 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);
|
||||
}
|
||||
}
|
||||
public sealed record TaxiStandInfo(uint StandRowId, string PlaceName, ushort TerritoryId, Vector3 Position, uint NpcDataId, TaxiRoute[] Routes);
|
||||
|
||||
[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 sealed record TaxiRoute(uint DestStandRowId, int Fare, int TimeRequiredSeconds);
|
||||
|
||||
public IReadOnlyDictionary<uint, TaxiStandInfo> Stands { get; }
|
||||
|
||||
|
|
@ -314,27 +23,13 @@ public sealed class TaxiStandDataService
|
|||
|
||||
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);
|
||||
IReadOnlyList<TaxiStandEntry> stands = AssemblyTaxiStandLoader.GetStands(dataOptions.DevSourceDirectory?.FullName);
|
||||
Dictionary<uint, TaxiStandEntry> dictionary = new Dictionary<uint, TaxiStandEntry>();
|
||||
IEnumerator<TaxiStandEntry> enumerator = readOnlyList.GetEnumerator();
|
||||
try
|
||||
foreach (TaxiStandEntry item in stands)
|
||||
{
|
||||
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[item.ChocoboTaxiStandId] = item;
|
||||
}
|
||||
Dictionary<uint, TaxiStandInfo> dictionary2 = new Dictionary<uint, TaxiStandInfo>();
|
||||
int num = 0;
|
||||
|
|
@ -347,18 +42,14 @@ public sealed class TaxiStandDataService
|
|||
}
|
||||
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))
|
||||
if (string.IsNullOrEmpty(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();
|
||||
text = $"TaxiStand 0x{num3:X}";
|
||||
}
|
||||
List<TaxiRoute> list = new List<TaxiRoute>();
|
||||
int num4 = 0;
|
||||
while (num4 < 8)
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
ChocoboTaxi? valueNullable = row.TargetLocations[num4].ValueNullable;
|
||||
ChocoboTaxi? valueNullable = row.TargetLocations[i].ValueNullable;
|
||||
if (valueNullable.HasValue && valueNullable.Value.TimeRequired != 0)
|
||||
{
|
||||
uint rowId = valueNullable.Value.Location.RowId;
|
||||
|
|
@ -367,68 +58,14 @@ public sealed class TaxiStandDataService
|
|||
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());
|
||||
dictionary2[num3] = new TaxiStandInfo(num3, text, taxiStandEntry2.TerritoryId, taxiStandEntry2.Location, taxiStandEntry2.Id, 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);
|
||||
logger.LogDebug("TaxiStandDataService: {Stands} stands, {Routes} routes loaded", TotalStands, TotalRoutes);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,7 @@
|
|||
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;
|
||||
|
|
@ -16,307 +13,11 @@ 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);
|
||||
}
|
||||
}
|
||||
public sealed record ScannedTicket(uint ItemId, string Name, uint ItemActionRowId, ushort[] ItemActionData);
|
||||
|
||||
[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;
|
||||
}
|
||||
}
|
||||
}
|
||||
public sealed record TeleportTicket(uint ItemId, string Name, ushort TerritoryId, Vector3 Position, byte RequiredGrandCompany = 0, uint RequiredQuestId = 0u);
|
||||
|
||||
[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;
|
||||
private static readonly uint[] KnownTicketItemIds = new uint[5] { 21069u, 21070u, 21071u, 28064u, 30362u };
|
||||
|
||||
public IReadOnlyList<ScannedTicket> ScannedTickets { get; }
|
||||
|
||||
|
|
@ -328,359 +29,104 @@ public sealed class TeleportTicketService
|
|||
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
|
||||
foreach (TeleportTicketEntry value2 in AssemblyTeleportTicketLoader.GetTickets(dataOptions.DevSourceDirectory?.FullName).Values)
|
||||
{
|
||||
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);
|
||||
}
|
||||
ApplyEntry(dictionary, value2);
|
||||
}
|
||||
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);
|
||||
LoadDestinationsFrom(Path.Combine(dataOptions.UserOverrideDirectory.FullName, "teleport-tickets.json"), dictionary, logger);
|
||||
}
|
||||
ExcelSheet<ItemActionTelepo> excelSheet = dataManager.GetExcelSheet<ItemActionTelepo>();
|
||||
List<TeleportTicket> list = new List<TeleportTicket>();
|
||||
IEnumerator<ScannedTicket> enumerator2 = ScannedTickets.GetEnumerator();
|
||||
try
|
||||
foreach (ScannedTicket scannedTicket in ScannedTickets)
|
||||
{
|
||||
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))
|
||||
if (!dictionary.TryGetValue(scannedTicket.ItemId, out var value))
|
||||
{
|
||||
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));
|
||||
}
|
||||
logger.LogDebug("Teleport ticket {ItemId} ({Name}) has no known destination - record it via the debug window to make it routable", scannedTicket.ItemId, scannedTicket.Name);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (enumerator2 != null)
|
||||
else
|
||||
{
|
||||
_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);
|
||||
uint num = excelSheet.GetRowOrDefault(scannedTicket.ItemActionData[0])?.Requirement.RowId ?? 0;
|
||||
list.Add(new TeleportTicket(scannedTicket.ItemId, scannedTicket.Name, value.Item1, value.Item2, (byte)((num >= 1 && num <= 3) ? ((byte)num) : 0), (num >= 65536) ? num : 0u));
|
||||
}
|
||||
}
|
||||
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 });
|
||||
logger.LogInformation("Teleport tickets: {Scanned} items found, {Resolved} with destinations", 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)
|
||||
foreach (uint rowId in knownTicketItemIds)
|
||||
{
|
||||
int num4 = num3;
|
||||
int num5 = -2085150820;
|
||||
int num6 = num4;
|
||||
int num7 = num6 + num5;
|
||||
int num8 = num6 & num5;
|
||||
switch (num7 - (num8 + num8))
|
||||
ItemAction? itemAction = excelSheet.GetRowOrDefault(rowId)?.ItemAction.ValueNullable;
|
||||
if (itemAction.HasValue)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
List<ScannedTicket> list = new List<ScannedTicket>();
|
||||
if (!num.HasValue)
|
||||
{
|
||||
logger.LogWarning("Teleport tickets: could not discover the ItemAction type from known items");
|
||||
return list;
|
||||
}
|
||||
foreach (Item item in excelSheet)
|
||||
{
|
||||
if (item.RowId == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ItemAction? valueNullable = item.ItemAction.ValueNullable;
|
||||
if (valueNullable.HasValue && valueNullable.Value.Action.RowId == num)
|
||||
{
|
||||
string text = item.Name.ExtractText();
|
||||
if (!string.IsNullOrEmpty(text))
|
||||
{
|
||||
list.Add(new ScannedTicket(item.RowId, text, valueNullable.Value.RowId, new ushort[3]
|
||||
{
|
||||
valueNullable.Value.Data[0],
|
||||
valueNullable.Value.Data[1],
|
||||
valueNullable.Value.Data[2]
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
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)
|
||||
if (entry.ItemId != 0 && entry.DestTerritoryId > 0)
|
||||
{
|
||||
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;
|
||||
}
|
||||
destinations[entry.ItemId] = (entry.DestTerritoryId, entry.DestPosition);
|
||||
}
|
||||
}
|
||||
|
||||
[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)
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
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);
|
||||
TeleportTicketFile teleportTicketFile = JsonSerializer.Deserialize<TeleportTicketFile>(File.ReadAllText(path));
|
||||
if (teleportTicketFile == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
foreach (TeleportTicketEntry value in teleportTicketFile.Tickets.Values)
|
||||
{
|
||||
ApplyEntry(destinations, value);
|
||||
}
|
||||
logger.LogDebug("Teleport tickets: loaded {Count} destinations from {Path}", teleportTicketFile.Tickets.Count, path);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,145 +1,5 @@
|
|||
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;
|
||||
}
|
||||
}
|
||||
internal sealed record ZoneBoundaryPositionOverride(ushort TerritoryA, ushort TerritoryB, Vector3 PositionA, Vector3 PositionB);
|
||||
|
|
|
|||
|
|
@ -1,8 +1,4 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SmartNav.Model.Navigation;
|
||||
|
||||
|
|
@ -14,30 +10,16 @@ public sealed class ZoneSubRegionService
|
|||
|
||||
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
|
||||
foreach (var (s, value) in AssemblyZoneSubRegionLoader.GetRegions(dataOptions.DevSourceDirectory?.FullName))
|
||||
{
|
||||
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))
|
||||
if (uint.TryParse(s, out var result))
|
||||
{
|
||||
var (s, value) = (KeyValuePair<string, TerritorySubRegions>)(ref enumerator.Current);
|
||||
if (uint.TryParse(s, out var result))
|
||||
{
|
||||
_regions[result] = value;
|
||||
}
|
||||
_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 });
|
||||
logger.LogDebug("ZoneSubRegionService: {Count} territories with sub-regions loaded", _regions.Count);
|
||||
}
|
||||
|
||||
public bool HasSubRegions(uint territoryId)
|
||||
|
|
@ -45,155 +27,37 @@ public sealed class ZoneSubRegionService
|
|||
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)
|
||||
if (!_regions.TryGetValue(territoryId, out TerritorySubRegions value))
|
||||
{
|
||||
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;
|
||||
return null;
|
||||
}
|
||||
foreach (SubRegionDefinition subRegion in value.SubRegions)
|
||||
{
|
||||
if (subRegion.Contains(x, y, z))
|
||||
{
|
||||
return subRegion.Id;
|
||||
}
|
||||
}
|
||||
return "_default";
|
||||
}
|
||||
|
||||
public IReadOnlyList<SubRegionDefinition>? GetSubRegions(uint territoryId)
|
||||
{
|
||||
TerritorySubRegions value;
|
||||
int num = (_regions.TryGetValue(territoryId, out value) ? 1403983688 : 1403983691);
|
||||
while (true)
|
||||
if (!_regions.TryGetValue(territoryId, out TerritorySubRegions value))
|
||||
{
|
||||
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;
|
||||
return null;
|
||||
}
|
||||
return value.SubRegions;
|
||||
}
|
||||
|
||||
public IReadOnlyList<SubRegionConnector>? GetConnectors(uint territoryId)
|
||||
{
|
||||
TerritorySubRegions value;
|
||||
int num = (_regions.TryGetValue(territoryId, out value) ? 240767514 : 240767513);
|
||||
while (true)
|
||||
if (!_regions.TryGetValue(territoryId, out TerritorySubRegions value))
|
||||
{
|
||||
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;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
return value.Connectors;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue