muffin v7.5.11
This commit is contained in:
parent
addf2d530f
commit
3102923ce2
522 changed files with 41082 additions and 211592 deletions
|
|
@ -20,7 +20,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray<T> : IEnumerable, ICollection,
|
|||
}
|
||||
set
|
||||
{
|
||||
throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray<T> : IEnumerable, ICollection,
|
|||
}
|
||||
set
|
||||
{
|
||||
throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -55,47 +55,47 @@ internal sealed class _003C_003Ez__ReadOnlyArray<T> : IEnumerable, ICollection,
|
|||
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return _206A_202A_200B_206E_202C_206C_200E_206D_200C_200C_202D_202D_202A_200F_202C_200D_200C_206D_202C_200F_206F_202D_206A_200B_206F_202E_206A_200F_200C_200C_206A_206A_206B_202C_200E_202A_200D_202E_202B_206E_202E((IEnumerable)_items);
|
||||
return ((IEnumerable)_items).GetEnumerator();
|
||||
}
|
||||
|
||||
void ICollection.CopyTo(Array array, int index)
|
||||
{
|
||||
_200E_200F_206D_200E_202A_200D_202C_206C_200C_202C_202E_200C_206A_206E_206E_206A_206D_202D_206C_200B_200E_202B_200D_206B_200F_202A_202C_206B_200D_206F_200E_200B_200D_206D_202C_202C_200B_206B_200C_202B_202E((ICollection)_items, array, index);
|
||||
((ICollection)_items).CopyTo(array, index);
|
||||
}
|
||||
|
||||
int IList.Add(object? value)
|
||||
{
|
||||
throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
void IList.Clear()
|
||||
{
|
||||
throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
bool IList.Contains(object? value)
|
||||
{
|
||||
return _200F_206F_202C_206A_206E_206E_200B_206A_202E_202A_200C_202C_206E_206C_202C_202E_206B_206B_202C_200E_200C_202E_200E_202D_200B_202A_206A_200E_202E_202B_206B_200E_202C_200B_200C_200E_200F_202D_206F_200C_202E((IList)_items, value);
|
||||
return ((IList)_items).Contains(value);
|
||||
}
|
||||
|
||||
int IList.IndexOf(object? value)
|
||||
{
|
||||
return _202B_200F_202D_200D_200D_206C_202A_200F_200F_202B_200C_200D_200F_202D_206B_202E_202B_206A_206B_200D_202C_200E_206D_206C_200F_206F_206D_200F_202D_206F_200B_206B_206A_200F_200E_200B_206F_202D_200F_202E_202E((IList)_items, value);
|
||||
return ((IList)_items).IndexOf(value);
|
||||
}
|
||||
|
||||
void IList.Insert(int index, object? value)
|
||||
{
|
||||
throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
void IList.Remove(object? value)
|
||||
{
|
||||
throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
void IList.RemoveAt(int index)
|
||||
{
|
||||
throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
IEnumerator<T> IEnumerable<T>.GetEnumerator()
|
||||
|
|
@ -105,12 +105,12 @@ internal sealed class _003C_003Ez__ReadOnlyArray<T> : IEnumerable, ICollection,
|
|||
|
||||
void ICollection<T>.Add(T item)
|
||||
{
|
||||
throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
void ICollection<T>.Clear()
|
||||
{
|
||||
throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
bool ICollection<T>.Contains(T item)
|
||||
|
|
@ -125,7 +125,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray<T> : IEnumerable, ICollection,
|
|||
|
||||
bool ICollection<T>.Remove(T item)
|
||||
{
|
||||
throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
int IList<T>.IndexOf(T item)
|
||||
|
|
@ -135,36 +135,11 @@ internal sealed class _003C_003Ez__ReadOnlyArray<T> : IEnumerable, ICollection,
|
|||
|
||||
void IList<T>.Insert(int index, T item)
|
||||
{
|
||||
throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
void IList<T>.RemoveAt(int index)
|
||||
{
|
||||
throw _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E();
|
||||
}
|
||||
|
||||
static IEnumerator _206A_202A_200B_206E_202C_206C_200E_206D_200C_200C_202D_202D_202A_200F_202C_200D_200C_206D_202C_200F_206F_202D_206A_200B_206F_202E_206A_200F_200C_200C_206A_206A_206B_202C_200E_202A_200D_202E_202B_206E_202E(IEnumerable P_0)
|
||||
{
|
||||
return P_0.GetEnumerator();
|
||||
}
|
||||
|
||||
static void _200E_200F_206D_200E_202A_200D_202C_206C_200C_202C_202E_200C_206A_206E_206E_206A_206D_202D_206C_200B_200E_202B_200D_206B_200F_202A_202C_206B_200D_206F_200E_200B_200D_206D_202C_202C_200B_206B_200C_202B_202E(ICollection P_0, Array P_1, int P_2)
|
||||
{
|
||||
P_0.CopyTo(P_1, P_2);
|
||||
}
|
||||
|
||||
static NotSupportedException _206E_200B_206D_206D_200B_202B_200D_206C_200E_200B_206B_202A_206D_202D_202D_206A_206C_206B_200B_202C_206A_202E_200B_200E_200E_202A_200C_200C_200D_206D_202E_200F_206A_200B_206E_200F_206B_202A_202D_200F_202E()
|
||||
{
|
||||
return new NotSupportedException();
|
||||
}
|
||||
|
||||
static bool _200F_206F_202C_206A_206E_206E_200B_206A_202E_202A_200C_202C_206E_206C_202C_202E_206B_206B_202C_200E_200C_202E_200E_202D_200B_202A_206A_200E_202E_202B_206B_200E_202C_200B_200C_200E_200F_202D_206F_200C_202E(IList P_0, object P_1)
|
||||
{
|
||||
return P_0.Contains(P_1);
|
||||
}
|
||||
|
||||
static int _202B_200F_202D_200D_200D_206C_202A_200F_200F_202B_200C_200D_200F_202D_206B_202E_202B_206A_206B_200D_202C_200E_206D_206C_200F_206F_206D_200F_202D_206F_200B_206B_206A_200F_200E_200B_206F_202D_200F_202E_202E(IList P_0, object P_1)
|
||||
{
|
||||
return P_0.IndexOf(P_1);
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,27 +19,11 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
|
|||
|
||||
bool IEnumerator.MoveNext()
|
||||
{
|
||||
int num = (_moveNextCalled ? 247413323 : 247413320);
|
||||
while (true)
|
||||
if (!_moveNextCalled)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 247413322;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 1:
|
||||
return false;
|
||||
case 2:
|
||||
return _moveNextCalled = true;
|
||||
case 0:
|
||||
goto IL_0055;
|
||||
}
|
||||
continue;
|
||||
IL_0055:
|
||||
num = 247413320;
|
||||
return _moveNextCalled = true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void IEnumerator.Reset()
|
||||
|
|
@ -62,31 +46,15 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
|
|||
{
|
||||
get
|
||||
{
|
||||
int num = ((index == 0) ? 2495584 : 2495587);
|
||||
while (true)
|
||||
if (index != 0)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 2495585;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 1:
|
||||
return _item;
|
||||
case 2:
|
||||
throw _202D_202E_202A_206A_206C_200F_202B_200F_202A_206B_200B_202A_202C_202A_206A_206C_202B_200F_202A_206B_202C_202D_200F_200E_202C_206D_206C_206C_202E_200B_200E_200F_200F_200C_206C_202C_206F_206E_200B_202E_202E();
|
||||
case 0:
|
||||
goto IL_0055;
|
||||
}
|
||||
continue;
|
||||
IL_0055:
|
||||
num = 2495587;
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
return _item;
|
||||
}
|
||||
set
|
||||
{
|
||||
throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -100,25 +68,11 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
|
|||
{
|
||||
get
|
||||
{
|
||||
int num = ((index == 0) ? (-1500986328) : (-1500986325));
|
||||
while (true)
|
||||
if (index != 0)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1500986327;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 1:
|
||||
return _item;
|
||||
case 2:
|
||||
throw _202D_202E_202A_206A_206C_200F_202B_200F_202A_206B_200B_202A_202C_202A_206A_206C_202B_200F_202A_206B_202C_202D_200F_200E_202C_206D_206C_206C_202E_200B_200E_200F_200F_200C_206C_202C_206F_206E_200B_202E_202E();
|
||||
case 0:
|
||||
goto IL_004e;
|
||||
}
|
||||
continue;
|
||||
IL_004e:
|
||||
num = -1500986325;
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
return _item;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -130,29 +84,15 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
|
|||
{
|
||||
get
|
||||
{
|
||||
int num = ((index == 0) ? 246612200 : 246612201);
|
||||
while (true)
|
||||
if (index != 0)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 246612200;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
goto IL_0041;
|
||||
case 0:
|
||||
return _item;
|
||||
case 1:
|
||||
throw _202D_202E_202A_206A_206C_200F_202B_200F_202A_206B_200B_202A_202C_202A_206A_206C_202B_200F_202A_206B_202C_202D_200F_200E_202C_206D_206C_206C_202E_200B_200E_200F_200F_200C_206C_202C_206F_206E_200B_202E_202E();
|
||||
}
|
||||
continue;
|
||||
IL_0041:
|
||||
num = 246612201;
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
return _item;
|
||||
}
|
||||
set
|
||||
{
|
||||
throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -168,17 +108,17 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
|
|||
|
||||
void ICollection.CopyTo(Array array, int index)
|
||||
{
|
||||
_206C_200B_202C_206B_206C_200D_202D_202E_206B_206A_206D_200B_206D_200B_206E_200D_206F_206F_206E_206B_202E_200E_206E_200C_202D_202A_206E_206B_200B_202D_202E_202E_206D_202D_202B_200E_206A_202D_202E_206C_202E(array, (object)_item, index);
|
||||
array.SetValue(_item, index);
|
||||
}
|
||||
|
||||
int IList.Add(object? value)
|
||||
{
|
||||
throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
void IList.Clear()
|
||||
{
|
||||
throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
bool IList.Contains(object? value)
|
||||
|
|
@ -188,40 +128,26 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
|
|||
|
||||
int IList.IndexOf(object? value)
|
||||
{
|
||||
int num = (EqualityComparer<T>.Default.Equals(_item, (T)value) ? 135208521 : 135208522);
|
||||
while (true)
|
||||
if (!EqualityComparer<T>.Default.Equals(_item, (T)value))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 135208520;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
goto IL_0056;
|
||||
case 2:
|
||||
return -1;
|
||||
case 1:
|
||||
return 0;
|
||||
}
|
||||
continue;
|
||||
IL_0056:
|
||||
num = 135208522;
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void IList.Insert(int index, object? value)
|
||||
{
|
||||
throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
void IList.Remove(object? value)
|
||||
{
|
||||
throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
void IList.RemoveAt(int index)
|
||||
{
|
||||
throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
IEnumerator<T> IEnumerable<T>.GetEnumerator()
|
||||
|
|
@ -231,12 +157,12 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
|
|||
|
||||
void ICollection<T>.Add(T item)
|
||||
{
|
||||
throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
void ICollection<T>.Clear()
|
||||
{
|
||||
throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
bool ICollection<T>.Contains(T item)
|
||||
|
|
@ -251,56 +177,25 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
|
|||
|
||||
bool ICollection<T>.Remove(T item)
|
||||
{
|
||||
throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
int IList<T>.IndexOf(T item)
|
||||
{
|
||||
int num = (EqualityComparer<T>.Default.Equals(_item, item) ? (-2052686167) : (-2052686166));
|
||||
while (true)
|
||||
if (!EqualityComparer<T>.Default.Equals(_item, item))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -2052686165;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
goto IL_0053;
|
||||
case 1:
|
||||
return -1;
|
||||
case 2:
|
||||
return 0;
|
||||
}
|
||||
continue;
|
||||
IL_0053:
|
||||
num = -2052686166;
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void IList<T>.Insert(int index, T item)
|
||||
{
|
||||
throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
void IList<T>.RemoveAt(int index)
|
||||
{
|
||||
throw _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E();
|
||||
}
|
||||
|
||||
static void _206C_200B_202C_206B_206C_200D_202D_202E_206B_206A_206D_200B_206D_200B_206E_200D_206F_206F_206E_206B_202E_200E_206E_200C_202D_202A_206E_206B_200B_202D_202E_202E_206D_202D_202B_200E_206A_202D_202E_206C_202E(Array P_0, object P_1, int P_2)
|
||||
{
|
||||
P_0.SetValue(P_1, P_2);
|
||||
}
|
||||
|
||||
static IndexOutOfRangeException _202D_202E_202A_206A_206C_200F_202B_200F_202A_206B_200B_202A_202C_202A_206A_206C_202B_200F_202A_206B_202C_202D_200F_200E_202C_206D_206C_206C_202E_200B_200E_200F_200F_200C_206C_202C_206F_206E_200B_202E_202E()
|
||||
{
|
||||
return new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
static NotSupportedException _200D_206D_202D_202C_206E_206F_202C_202A_200C_206F_206A_202D_200C_206F_200D_200E_202A_206A_202D_202D_206F_202B_202B_206D_202C_200C_206A_202C_200D_202A_202D_200F_206D_200B_202E_206B_200E_200D_206B_206D_202E()
|
||||
{
|
||||
return new NotSupportedException();
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,156 +1,3 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
|
||||
namespace SmartNav.Graph;
|
||||
|
||||
public sealed record NavEdge(string FromNodeId, string ToNodeId, NavEdgeType EdgeType, float TimeCostSeconds, int GilCost)
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _206E_200D_200E_206F_200E_206D_206A_200E_206A_202E_202A_202C_206F_206D_200E_200E_202C_206F_200E_206C_202D_200F_206D_200E_206A_206F_202A_206F_202A_206D_202B_200D_206B_206E_200E_200C_206A_206D_200E_200D_202E(typeof(NavEdge).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _202E_206C_206D_200D_200B_206C_200D_200B_200F_200E_202E_206B_206A_206A_206D_206C_200D_206B_206A_200F_202B_202E_200F_202E_202B_202C_206A_200E_200F_206E_202B_206A_200F_202E_206B_206C_200C_206D_206F_202B_202E();
|
||||
_202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_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>(-524076477));
|
||||
_202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_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)) ? 1302447791 : 1302447790);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1302447791;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = 1302447790;
|
||||
break;
|
||||
case 0:
|
||||
_206A_206F_202C_202A_200C_206B_202B_202A_206A_202E_202B_200C_202D_200D_202D_206E_206F_206D_200B_202C_200C_202D_206D_200E_202B_200C_200C_200F_202C_202C_206E_200C_206E_202A_202E_202D_206F_200C_202B_202E_202E(stringBuilder, '}');
|
||||
return _206F_202B_200C_200E_206F_206D_202A_200F_200C_202D_200E_206B_206E_200B_206B_206F_206E_200F_206E_206C_200D_206F_206F_206C_202A_200D_200C_206D_206E_200E_206E_202E_202D_206B_200C_206C_206A_202D_206F_206E_202E((object)stringBuilder);
|
||||
case 1:
|
||||
_206A_206F_202C_202A_200C_206B_202B_202A_206A_202E_202B_200C_202D_200D_202D_206E_206F_206D_200B_202C_200C_202D_206D_200E_202B_200C_200C_200F_202C_202C_206E_200C_206E_202A_202E_202D_206F_200C_202B_202E_202E(stringBuilder, ' ');
|
||||
num = 1302447791;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_200C_202C_206D_202B_202A_206C_206C_202A_200E_202B_206E_202D_202A_206B_202D_202D_206B_206A_202B_206F_206B_206A_206C_200C_202A_206B_206E_202A_206B_200C_200E_200C_206C_202A_202C_202C_200B_200C_200E_206B_202E();
|
||||
_202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_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>(-117326766));
|
||||
_200B_200F_200E_206A_206B_202A_206E_206C_200B_202B_206D_200B_202A_202C_206A_200B_206E_206A_200D_202B_206D_200E_206C_200D_200D_200E_206F_206B_206F_202B_206E_202D_206E_206B_206F_200E_200E_206D_206F_200C_202E(builder, (object)FromNodeId);
|
||||
_202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_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>(1889543298));
|
||||
_200B_200F_200E_206A_206B_202A_206E_206C_200B_202B_206D_200B_202A_202C_206A_200B_206E_206A_200D_202B_206D_200E_206C_200D_200D_200E_206F_206B_206F_202B_206E_202D_206E_206B_206F_200E_200E_206D_206F_200C_202E(builder, (object)ToNodeId);
|
||||
_202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_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>(323881500));
|
||||
_202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(builder, EdgeType.ToString());
|
||||
_202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_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>(682092795));
|
||||
_202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(builder, TimeCostSeconds.ToString());
|
||||
_202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_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>(-492476942));
|
||||
_202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(builder, GilCost.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(NavEdge? other)
|
||||
{
|
||||
int num = (((object)this == other) ? 1316647872 : 1316647875);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1316647876;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 8:
|
||||
num = ((!EqualityComparer<string>.Default.Equals(ToNodeId, other.ToNodeId)) ? 1316647876 : 1316647877);
|
||||
break;
|
||||
case 7:
|
||||
num = (((object)other == null) ? 1316647876 : 1316647874);
|
||||
break;
|
||||
case 5:
|
||||
num = ((!EqualityComparer<string>.Default.Equals(FromNodeId, other.FromNodeId)) ? 1316647876 : 1316647884);
|
||||
break;
|
||||
case 6:
|
||||
num = ((!_200F_206D_202D_206A_202D_202E_200C_200F_206F_200B_206A_202B_200C_202D_202A_206C_202B_202C_200D_202E_202B_200C_206A_206A_206A_200B_206C_202B_206C_200E_206D_206B_202E_200E_202A_200B_202C_206B_202B_202D_202E(EqualityContract, other.EqualityContract)) ? 1316647876 : 1316647873);
|
||||
break;
|
||||
case 1:
|
||||
num = ((!EqualityComparer<NavEdgeType>.Default.Equals(EdgeType, other.EdgeType)) ? 1316647876 : 1316647885);
|
||||
break;
|
||||
case 4:
|
||||
return true;
|
||||
case 3:
|
||||
return EqualityComparer<int>.Default.Equals(GilCost, other.GilCost);
|
||||
case 9:
|
||||
num = ((!EqualityComparer<float>.Default.Equals(TimeCostSeconds, other.TimeCostSeconds)) ? 1316647876 : 1316647879);
|
||||
break;
|
||||
case 2:
|
||||
num = 1316647875;
|
||||
break;
|
||||
case 0:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<NavEdge>.Equals(NavEdge? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _206E_200D_200E_206F_200E_206D_206A_200E_206A_202E_202A_202C_206F_206D_200E_200E_202C_206F_200E_206C_202D_200F_206D_200E_206A_206F_202A_206F_202A_206D_202B_200D_206B_206E_200E_200C_206A_206D_200E_200D_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder _202E_206C_206D_200D_200B_206C_200D_200B_200F_200E_202E_206B_206A_206A_206D_206C_200D_206B_206A_200F_202B_202E_200F_202E_202B_202C_206A_200E_200F_206E_202B_206A_200F_202E_206B_206C_200C_206D_206F_202B_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _202E_206F_202A_202D_200B_206F_206B_200F_202E_206E_206A_200F_200B_202A_206F_202B_206D_202E_202A_202B_202B_200E_206F_200B_202D_200B_200D_202B_200F_200E_200B_206B_206F_202D_206E_202B_200D_202E_200B_200C_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _206A_206F_202C_202A_200C_206B_202B_202A_206A_202E_202B_200C_202D_200D_202D_206E_206F_206D_200B_202C_200C_202D_206D_200E_202B_200C_200C_200F_202C_202C_206E_200C_206E_202A_202E_202D_206F_200C_202B_202E_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _206F_202B_200C_200E_206F_206D_202A_200F_200C_202D_200E_206B_206E_200B_206B_206F_206E_200F_206E_206C_200D_206F_206F_206C_202A_200D_200C_206D_206E_200E_206E_202E_202D_206B_200C_206C_206A_202D_206F_206E_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static void _200C_202C_206D_202B_202A_206C_206C_202A_200E_202B_206E_202D_202A_206B_202D_202D_206B_206A_202B_206F_206B_206A_206C_200C_202A_206B_206E_202A_206B_200C_200E_200C_206C_202A_202C_202C_200B_200C_200E_206B_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder _200B_200F_200E_206A_206B_202A_206E_206C_200B_202B_206D_200B_202A_202C_206A_200B_206E_206A_200D_202B_206D_200E_206C_200D_200D_200E_206F_206B_206F_202B_206E_202D_206E_206B_206F_200E_200E_206D_206F_200C_202E(StringBuilder P_0, object P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _200F_206D_202D_206A_202D_202E_200C_200F_206F_200B_206A_202B_200C_202D_202A_206C_202B_202C_200D_202E_202B_200C_206A_206A_206A_200B_206C_202B_206C_200E_206D_206B_202E_200E_202A_200B_202C_206B_202B_202D_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
public sealed record NavEdge(string FromNodeId, string ToNodeId, NavEdgeType EdgeType, float TimeCostSeconds, int GilCost);
|
||||
|
|
|
|||
|
|
@ -1,45 +1,10 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace SmartNav.Graph;
|
||||
|
||||
public sealed class NavGraph
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec__DisplayClass11_0
|
||||
{
|
||||
public NavEdge edge;
|
||||
|
||||
internal bool _003CReplaceEdge_003Eb__0(NavEdge e)
|
||||
{
|
||||
int num = ((!_206D_200B_200F_202D_206A_206D_206E_202E_200C_202D_200B_206A_206D_200B_206B_200E_202B_202C_202C_202B_200F_206A_202A_202C_202C_200F_206D_202C_200F_206E_200B_200C_206B_202A_202A_206D_206C_200C_200B_206D_202E(e.ToNodeId, edge.ToNodeId)) ? 1864125654 : 1864125653);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1864125655;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
goto IL_0056;
|
||||
case 2:
|
||||
return e.EdgeType == edge.EdgeType;
|
||||
case 1:
|
||||
return false;
|
||||
}
|
||||
continue;
|
||||
IL_0056:
|
||||
num = 1864125653;
|
||||
}
|
||||
}
|
||||
|
||||
static bool _206D_200B_200F_202D_206A_206D_206E_202E_200C_202D_200B_206A_206D_200B_206B_200E_202B_202C_202C_202B_200F_206A_202A_202C_202C_200F_206D_202C_200F_206E_200B_200C_206B_202A_202A_206D_206C_200C_200B_206D_202E(string P_0, string P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
private readonly Dictionary<string, NavNode> _nodes = new Dictionary<string, NavNode>();
|
||||
|
||||
private readonly Dictionary<string, List<NavEdge>> _adjacency = new Dictionary<string, List<NavEdge>>();
|
||||
|
|
@ -59,34 +24,11 @@ public sealed class NavGraph
|
|||
get
|
||||
{
|
||||
int num = 0;
|
||||
using Dictionary<string, List<NavEdge>>.ValueCollection.Enumerator enumerator = _adjacency.Values.GetEnumerator();
|
||||
int num2 = 165728447;
|
||||
while (true)
|
||||
foreach (List<NavEdge> value in _adjacency.Values)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = 165728444;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 3:
|
||||
num2 = (enumerator.MoveNext() ? 165728445 : 165728446);
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
List<NavEdge> current = enumerator.Current;
|
||||
num += current.Count;
|
||||
num2 = 165728447;
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
num2 = 165728447;
|
||||
break;
|
||||
case 2:
|
||||
return num;
|
||||
}
|
||||
num += value.Count;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -94,210 +36,71 @@ public sealed class NavGraph
|
|||
{
|
||||
bool num = !_nodes.ContainsKey(node.Id);
|
||||
_nodes[node.Id] = node;
|
||||
int num2 = ((!num) ? (-2079391440) : (-2079391437));
|
||||
List<string> value = default(List<string>);
|
||||
while (true)
|
||||
if (num)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -2079391439;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
_adjacency[node.Id] = new List<NavEdge>();
|
||||
if (!_territoryIndex.TryGetValue(node.TerritoryId, out List<string> value))
|
||||
{
|
||||
case 0:
|
||||
num2 = -2079391437;
|
||||
break;
|
||||
case 4:
|
||||
value.Add(node.Id);
|
||||
num2 = -2079391440;
|
||||
break;
|
||||
case 3:
|
||||
value = new List<string>();
|
||||
_territoryIndex[node.TerritoryId] = value;
|
||||
num2 = -2079391435;
|
||||
break;
|
||||
case 2:
|
||||
_adjacency[node.Id] = new List<NavEdge>();
|
||||
num2 = (_territoryIndex.TryGetValue(node.TerritoryId, out value) ? (-2079391435) : (-2079391438));
|
||||
break;
|
||||
case 1:
|
||||
return;
|
||||
}
|
||||
value.Add(node.Id);
|
||||
}
|
||||
}
|
||||
|
||||
public void AddEdge(NavEdge edge)
|
||||
{
|
||||
List<NavEdge> value;
|
||||
int num = (_adjacency.TryGetValue(edge.FromNodeId, out value) ? (-2081875728) : (-2081875725));
|
||||
while (true)
|
||||
if (!_adjacency.TryGetValue(edge.FromNodeId, out List<NavEdge> value))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -2081875726;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = -2081875725;
|
||||
break;
|
||||
case 2:
|
||||
value.Add(edge);
|
||||
return;
|
||||
case 1:
|
||||
value = new List<NavEdge>();
|
||||
_adjacency[edge.FromNodeId] = value;
|
||||
num = -2081875728;
|
||||
break;
|
||||
}
|
||||
value = new List<NavEdge>();
|
||||
_adjacency[edge.FromNodeId] = value;
|
||||
}
|
||||
value.Add(edge);
|
||||
}
|
||||
|
||||
public void ReplaceEdge(NavEdge edge)
|
||||
{
|
||||
List<NavEdge> value;
|
||||
int num = (_adjacency.TryGetValue(edge.FromNodeId, out value) ? (-1414739437) : (-1414739440));
|
||||
while (true)
|
||||
if (!_adjacency.TryGetValue(edge.FromNodeId, out List<NavEdge> value))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1414739438;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 1:
|
||||
value.RemoveAll(delegate(NavEdge e)
|
||||
{
|
||||
int num5 = ((!_003C_003Ec__DisplayClass11_0._206D_200B_200F_202D_206A_206D_206E_202E_200C_202D_200B_206A_206D_200B_206B_200E_202B_202C_202C_202B_200F_206A_202A_202C_202C_200F_206D_202C_200F_206E_200B_200C_206B_202A_202A_206D_206C_200C_200B_206D_202E(e.ToNodeId, edge.ToNodeId)) ? 1864125654 : 1864125653);
|
||||
while (true)
|
||||
{
|
||||
int num6 = num5;
|
||||
int num7 = 1864125655;
|
||||
int num8 = num6;
|
||||
switch ((num8 | num7) - (num8 & num7))
|
||||
{
|
||||
case 0:
|
||||
goto IL_0056;
|
||||
case 2:
|
||||
return e.EdgeType == edge.EdgeType;
|
||||
case 1:
|
||||
return false;
|
||||
}
|
||||
continue;
|
||||
IL_0056:
|
||||
num5 = 1864125653;
|
||||
}
|
||||
});
|
||||
value.Add(edge);
|
||||
return;
|
||||
case 2:
|
||||
value = new List<NavEdge>();
|
||||
_adjacency[edge.FromNodeId] = value;
|
||||
num = -1414739437;
|
||||
break;
|
||||
case 0:
|
||||
num = -1414739440;
|
||||
break;
|
||||
}
|
||||
value = new List<NavEdge>();
|
||||
_adjacency[edge.FromNodeId] = value;
|
||||
}
|
||||
value.RemoveAll((NavEdge e) => e.ToNodeId == edge.ToNodeId && e.EdgeType == edge.EdgeType);
|
||||
value.Add(edge);
|
||||
}
|
||||
|
||||
public void RemoveEdges(string fromNodeId, Predicate<NavEdge> predicate)
|
||||
{
|
||||
List<NavEdge> value;
|
||||
int num = ((!_adjacency.TryGetValue(fromNodeId, out value)) ? 1405127907 : 1405127904);
|
||||
while (true)
|
||||
if (_adjacency.TryGetValue(fromNodeId, out List<NavEdge> value))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1405127906;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
num = 1405127904;
|
||||
break;
|
||||
case 1:
|
||||
return;
|
||||
case 2:
|
||||
value.RemoveAll(predicate);
|
||||
num = 1405127907;
|
||||
break;
|
||||
}
|
||||
value.RemoveAll(predicate);
|
||||
}
|
||||
}
|
||||
|
||||
public NavNode? GetNode(string nodeId)
|
||||
{
|
||||
NavNode value;
|
||||
int num = (_nodes.TryGetValue(nodeId, out value) ? 640244294 : 640244295);
|
||||
while (true)
|
||||
if (!_nodes.TryGetValue(nodeId, out NavNode value))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 640244294;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
return value;
|
||||
case 1:
|
||||
return null;
|
||||
case 2:
|
||||
goto IL_0054;
|
||||
}
|
||||
continue;
|
||||
IL_0054:
|
||||
num = 640244295;
|
||||
return null;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
public IReadOnlyList<NavEdge> GetEdges(string nodeId)
|
||||
{
|
||||
List<NavEdge> value;
|
||||
int num = (_adjacency.TryGetValue(nodeId, out value) ? 577743021 : 577743022);
|
||||
while (true)
|
||||
if (!_adjacency.TryGetValue(nodeId, out List<NavEdge> value))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 577743023;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
return value;
|
||||
case 1:
|
||||
return new List<NavEdge>();
|
||||
case 0:
|
||||
goto IL_0058;
|
||||
}
|
||||
continue;
|
||||
IL_0058:
|
||||
num = 577743022;
|
||||
return new List<NavEdge>();
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
public IReadOnlyList<string> GetNodesInTerritory(uint territoryId)
|
||||
{
|
||||
List<string> value;
|
||||
int num = (_territoryIndex.TryGetValue(territoryId, out value) ? 111271957 : 111271958);
|
||||
while (true)
|
||||
if (!_territoryIndex.TryGetValue(territoryId, out List<string> value))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 111271959;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
goto IL_004e;
|
||||
case 1:
|
||||
return new List<string>();
|
||||
case 2:
|
||||
return value;
|
||||
}
|
||||
continue;
|
||||
IL_004e:
|
||||
num = 111271958;
|
||||
return new List<string>();
|
||||
}
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -22,18 +22,18 @@
|
|||
<Reference Include="Dalamud">
|
||||
<HintPath>C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Dalamud.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="FFXIVClientStructs">
|
||||
<HintPath>C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\FFXIVClientStructs.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Lumina">
|
||||
<HintPath>C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Lumina.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Lumina.Excel">
|
||||
<HintPath>C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Lumina.Excel.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="LLib">
|
||||
<HintPath>..\..\LLib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Lumina">
|
||||
<HintPath>C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Lumina.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="FFXIVClientStructs">
|
||||
<HintPath>C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\FFXIVClientStructs.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SmartNav.Data">
|
||||
<HintPath>..\..\SmartNav.Data.dll</HintPath>
|
||||
</Reference>
|
||||
|
|
|
|||
|
|
@ -8,50 +8,21 @@ public sealed class CostCalculator(ITerritoryInfo territoryInfo)
|
|||
{
|
||||
public float EstimateWithinZoneTravelTime(Vector3 from, Vector3 to, uint territoryId, PlayerNavState playerState)
|
||||
{
|
||||
int num = (territoryInfo.CanUseMount(territoryId) ? (-1627784527) : (-1627784525));
|
||||
float num7 = default(float);
|
||||
while (true)
|
||||
if (!territoryInfo.CanUseMount(territoryId))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1627784522;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 8:
|
||||
{
|
||||
float num8 = _200D_202D_202A_202D_202B_206A_202A_202A_206F_200B_206C_206F_202A_206D_202C_206D_202A_206C_202C_202D_200E_202A_200D_206F_200B_200B_206F_206C_202E_206D_202D_206D_206E_200E_200C_206E_206E_206B_202C_202C_202E(playerState.GetMountSpeedLevel(territoryId));
|
||||
return num7 / num8 + 1f;
|
||||
}
|
||||
case 7:
|
||||
num = ((!playerState.MountUnlocked) ? (-1627784528) : (-1627784521));
|
||||
break;
|
||||
case 4:
|
||||
num7 = Estimate2DDistance(from, to) * 1.3f;
|
||||
num = (playerState.MountUnlocked ? (-1627784514) : (-1627784524));
|
||||
break;
|
||||
case 1:
|
||||
if (playerState.IsFlyingUnlocked(territoryId))
|
||||
{
|
||||
num = -1627784523;
|
||||
break;
|
||||
}
|
||||
goto case 6;
|
||||
case 5:
|
||||
return Estimate2DDistance(from, to) * 1.1f / 7.8f;
|
||||
case 0:
|
||||
num = -1627784525;
|
||||
break;
|
||||
case 2:
|
||||
return num7 / 6f;
|
||||
case 6:
|
||||
num = -1627784526;
|
||||
break;
|
||||
case 3:
|
||||
return Vector3.Distance(from, to) / 20f + 1f;
|
||||
}
|
||||
return Estimate2DDistance(from, to) * 1.1f / 7.8f;
|
||||
}
|
||||
if (playerState.MountUnlocked && playerState.IsFlyingUnlocked(territoryId))
|
||||
{
|
||||
return Vector3.Distance(from, to) / 20f + 1f;
|
||||
}
|
||||
float num = Estimate2DDistance(from, to) * 1.3f;
|
||||
if (!playerState.MountUnlocked)
|
||||
{
|
||||
return num / 6f;
|
||||
}
|
||||
float mountGroundSpeed = MovementData.Speeds.GetMountGroundSpeed(playerState.GetMountSpeedLevel(territoryId));
|
||||
return num / mountGroundSpeed + 1f;
|
||||
}
|
||||
|
||||
public static float EstimateTeleportTime()
|
||||
|
|
@ -68,16 +39,6 @@ public sealed class CostCalculator(ITerritoryInfo territoryInfo)
|
|||
{
|
||||
float num = from.X - to.X;
|
||||
float num2 = from.Z - to.Z;
|
||||
return _202B_202B_206C_206D_200B_206B_206C_202B_200B_206E_200E_200E_200F_206F_206C_200D_206C_206A_202E_202B_200E_206F_202B_202B_206E_200D_202A_202D_200E_202E_206A_200C_202E_200D_202E_206D_200B_200C_206D_202E_202E(num * num + num2 * num2);
|
||||
}
|
||||
|
||||
static float _200D_202D_202A_202D_202B_206A_202A_202A_206F_200B_206C_206F_202A_206D_202C_206D_202A_206C_202C_202D_200E_202A_200D_206F_200B_200B_206F_206C_202E_206D_202D_206D_206E_200E_200C_206E_206E_206B_202C_202C_202E(int P_0)
|
||||
{
|
||||
return MovementData.Speeds.GetMountGroundSpeed(P_0);
|
||||
}
|
||||
|
||||
static float _202B_202B_206C_206D_200B_206B_206C_202B_200B_206E_200E_200E_200F_206F_206C_200D_206C_206A_202E_202B_200E_206F_202B_202B_206E_200D_202A_202D_200E_202E_206A_200C_202E_200D_202E_206D_200B_200C_206D_202E_202E(float P_0)
|
||||
{
|
||||
return MathF.Sqrt(P_0);
|
||||
return MathF.Sqrt(num * num + num2 * num2);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,9 +1,6 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SmartNav.Graph;
|
||||
|
|
@ -25,129 +22,16 @@ public sealed class NavRouter
|
|||
public int CompareTo(RouteCost other)
|
||||
{
|
||||
int num = Time.CompareTo(other.Time);
|
||||
int num2 = ((num == 0) ? (-471116150) : (-471116149));
|
||||
int num6 = default(int);
|
||||
while (true)
|
||||
if (num != 0)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -471116152;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
case 0:
|
||||
num2 = -471116149;
|
||||
break;
|
||||
case 1:
|
||||
return Hops.CompareTo(other.Hops);
|
||||
case 3:
|
||||
return num;
|
||||
case 4:
|
||||
return num6;
|
||||
case 2:
|
||||
num6 = Gil.CompareTo(other.Gil);
|
||||
num2 = ((num6 == 0) ? (-471116151) : (-471116148));
|
||||
break;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
}
|
||||
|
||||
int IComparable<RouteCost>.CompareTo(RouteCost other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in CompareTo
|
||||
return this.CompareTo(other);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _202B_206A_200B_202B_202E_200C_202A_206A_202D_202A_202E_206F_206D_200E_206F_200B_202A_200B_206E_202D_202E_206A_200B_206E_202B_206F_202A_202C_206C_206D_206C_200B_200F_202C_202E_206A_200E_206A_202B_206C_202E();
|
||||
_202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_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>(1818956806));
|
||||
_202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_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)) ? 1574210164 : 1574210167);
|
||||
while (true)
|
||||
int num2 = Gil.CompareTo(other.Gil);
|
||||
if (num2 != 0)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1574210166;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
_202E_206C_200F_206A_200C_202C_200B_200E_206F_202D_206C_202A_206B_206C_202B_202B_200F_206C_200C_206F_200C_200D_202E_202E_206F_202C_200D_202B_202E_206C_206C_206B_206C_202A_200D_206A_206C_202A_206A_206A_202E(stringBuilder, '}');
|
||||
return _202D_202E_206C_200F_202B_200B_206E_200C_202D_206F_202D_200D_202C_200E_202E_202B_206E_206A_200D_206D_206C_200D_200B_202B_206B_202D_202C_200D_202A_200F_206A_202A_200C_200D_200F_200C_202B_206A_202A_202B_202E((object)stringBuilder);
|
||||
case 1:
|
||||
_202E_206C_200F_206A_200C_202C_200B_200E_206F_202D_206C_202A_206B_206C_202B_202B_200F_206C_200C_206F_200C_200D_202E_202E_206F_202C_200D_202B_202E_206C_206C_206B_206C_202A_200D_206A_206C_202A_206A_206A_202E(stringBuilder, ' ');
|
||||
num = 1574210164;
|
||||
break;
|
||||
case 0:
|
||||
num = 1574210167;
|
||||
break;
|
||||
}
|
||||
return num2;
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_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>(193985830));
|
||||
_202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_202E(builder, Time.ToString());
|
||||
_202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_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>(-143137433));
|
||||
_202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_202E(builder, Gil.ToString());
|
||||
_202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_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>(-304888681));
|
||||
_202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_202E(builder, Hops.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(RouteCost other)
|
||||
{
|
||||
int num = ((!EqualityComparer<float>.Default.Equals(Time, other.Time)) ? (-631091536) : (-631091534));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -631091536;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 3:
|
||||
num = -631091534;
|
||||
break;
|
||||
case 1:
|
||||
return EqualityComparer<int>.Default.Equals(Hops, other.Hops);
|
||||
case 2:
|
||||
num = ((!EqualityComparer<int>.Default.Equals(Gil, other.Gil)) ? (-631091536) : (-631091535));
|
||||
break;
|
||||
case 0:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<RouteCost>.Equals(RouteCost other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static StringBuilder _202B_206A_200B_202B_202E_200C_202A_206A_202D_202A_202E_206F_206D_200E_206F_200B_202A_200B_206E_202D_202E_206A_200B_206E_202B_206F_202A_202C_206C_206D_206C_200B_200F_202C_202E_206A_200E_206A_202B_206C_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _202E_206D_206C_202B_200B_202C_206C_202C_206A_202B_202B_206B_200F_202E_202D_206A_202C_202A_206F_206D_202E_202E_206A_200D_202C_202A_206F_202A_200F_202C_206F_202C_206D_202B_200E_200E_200C_206E_202A_200D_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _202E_206C_200F_206A_200C_202C_200B_200E_206F_202D_206C_202A_206B_206C_202B_202B_200F_206C_200C_206F_200C_200D_202E_202E_206F_202C_200D_202B_202E_206C_206C_206B_206C_202A_200D_206A_206C_202A_206A_206A_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _202D_202E_206C_200F_202B_200B_206E_200C_202D_206F_202D_200D_202C_200E_202E_202B_206E_206A_200D_206D_206C_200D_200B_202B_206B_202D_202C_200D_202A_200F_206A_202A_200C_200D_200F_200C_202B_206A_202A_202B_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
return Hops.CompareTo(other.Hops);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -179,44 +63,21 @@ public sealed class NavRouter
|
|||
_staticGraph = new Lazy<NavGraph>(_graphBuilder.Build, LazyThreadSafetyMode.ExecutionAndPublication);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public RouteResult FindRoute(PlayerNavState playerState, uint destinationTerritoryId, Vector3 destinationPosition, IReadOnlySet<string>? penalizedTargets = null)
|
||||
{
|
||||
(NavGraph EffectiveGraph, string OriginId, string DestinationId) tuple = _graphView.CreateQueryGraph(StaticGraph, playerState, destinationTerritoryId, destinationPosition);
|
||||
NavGraph item = tuple.EffectiveGraph;
|
||||
string item2 = tuple.OriginId;
|
||||
string item3 = tuple.DestinationId;
|
||||
int num = ((item.GetNode(item2) == null) ? (-322814782) : (-322814778));
|
||||
List<(string, NavEdge)> list = default(List<(string, NavEdge)>);
|
||||
while (true)
|
||||
var (navGraph, text, text2) = _graphView.CreateQueryGraph(StaticGraph, playerState, destinationTerritoryId, destinationPosition);
|
||||
if (navGraph.GetNode(text) == null || navGraph.GetNode(text2) == null)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -322814777;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
_202C_200E_200B_200F_200E_202A_200F_206E_206E_206E_200E_202B_202A_200B_202E_200E_206A_206E_200D_200B_200C_202C_202C_202A_202E_200D_200F_200F_206C_200B_206A_202B_200B_206A_200E_200E_206A_202A_202A_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>(599235747), new object[2] { item2, destinationTerritoryId });
|
||||
return RouteResult.Empty;
|
||||
case 3:
|
||||
list = Dijkstra(item, item2, item3, penalizedTargets);
|
||||
num = ((list != null) ? (-322814781) : (-322814777));
|
||||
break;
|
||||
case 5:
|
||||
_202C_200E_200B_200F_200E_202A_200F_206E_206E_206E_200E_202B_202A_200B_202E_200E_206A_206E_200D_200B_200C_202C_202C_202A_202E_200D_200F_200F_206C_200B_206A_202B_200B_206A_200E_200E_206A_202A_202A_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>(310385065), Array.Empty<object>());
|
||||
return RouteResult.Empty;
|
||||
case 1:
|
||||
num = ((!(item.GetNode(item3) == null)) ? (-322814780) : (-322814782));
|
||||
break;
|
||||
case 4:
|
||||
return BuildRouteResult(item, list, playerState);
|
||||
case 2:
|
||||
num = -322814778;
|
||||
break;
|
||||
}
|
||||
_logger.LogWarning("Origin or destination node missing from query graph");
|
||||
return RouteResult.Empty;
|
||||
}
|
||||
List<(string, NavEdge)> list = Dijkstra(navGraph, text, text2, penalizedTargets);
|
||||
if (list == null)
|
||||
{
|
||||
_logger.LogWarning("No route found from {Origin} to territory {Territory}", text, destinationTerritoryId);
|
||||
return RouteResult.Empty;
|
||||
}
|
||||
return BuildRouteResult(navGraph, list, playerState);
|
||||
}
|
||||
|
||||
internal static List<(string NodeId, NavEdge? ViaEdge)>? Dijkstra(NavGraph graph, string startId, string endId, IReadOnlySet<string>? penalizedTargets)
|
||||
|
|
@ -227,458 +88,112 @@ public sealed class NavRouter
|
|||
PriorityQueue<string, RouteCost> priorityQueue = new PriorityQueue<string, RouteCost>();
|
||||
dictionary[startId] = default(RouteCost);
|
||||
priorityQueue.Enqueue(startId, default(RouteCost));
|
||||
IEnumerator<string> enumerator = graph.Nodes.Keys.GetEnumerator();
|
||||
try
|
||||
foreach (string key in graph.Nodes.Keys)
|
||||
{
|
||||
int num = 1145583331;
|
||||
string current = default(string);
|
||||
while (true)
|
||||
if (key != startId)
|
||||
{
|
||||
dictionary[key] = RouteCost.Max;
|
||||
}
|
||||
dictionary2[key] = null;
|
||||
}
|
||||
while (priorityQueue.Count > 0)
|
||||
{
|
||||
string text = priorityQueue.Dequeue();
|
||||
if (text == endId)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (!hashSet.Add(text))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1145583330;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 5:
|
||||
dictionary2[current] = null;
|
||||
num = 1145583331;
|
||||
break;
|
||||
case 3:
|
||||
dictionary[current] = RouteCost.Max;
|
||||
num = 1145583335;
|
||||
break;
|
||||
case 4:
|
||||
current = enumerator.Current;
|
||||
num = ((!_206C_206C_206F_202B_206E_202D_206B_200C_202E_202A_202B_206E_200D_206A_200D_202C_202A_206E_206A_206F_200C_200B_206F_202A_202C_206F_206D_202D_206D_200C_206E_206C_206F_200E_202A_202B_206C_206D_202D_206A_202E(current, startId)) ? 1145583335 : 1145583329);
|
||||
break;
|
||||
case 0:
|
||||
num = 1145583331;
|
||||
break;
|
||||
case 1:
|
||||
num = (_202E_202B_206E_206A_202D_206A_206D_202D_206B_206E_200E_202C_206E_202D_206B_202C_206D_202A_200B_206F_206E_200D_206E_200D_202C_200C_202D_206B_206E_200D_206B_200E_206C_200F_202B_200B_202B_200B_200D_206B_202E((IEnumerator)enumerator) ? 1145583334 : 1145583328);
|
||||
break;
|
||||
case 2:
|
||||
goto end_IL_0058;
|
||||
}
|
||||
continue;
|
||||
end_IL_0058:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
int num = ((enumerator == null) ? (-807240815) : (-807240814));
|
||||
while (true)
|
||||
foreach (NavEdge edge in graph.GetEdges(text))
|
||||
{
|
||||
int num7 = num;
|
||||
int num3 = -807240816;
|
||||
int num4 = num7;
|
||||
int num8 = num4 + num3;
|
||||
int num9 = num4 & num3;
|
||||
switch (num8 - (num9 + num9))
|
||||
if (!hashSet.Contains(edge.ToNodeId) && !(graph.GetNode(edge.ToNodeId) == null))
|
||||
{
|
||||
case 0:
|
||||
num = -807240814;
|
||||
break;
|
||||
case 1:
|
||||
goto end_IL_014b;
|
||||
case 2:
|
||||
_206C_206D_206D_200F_206D_202B_202A_206A_200D_206D_206E_202B_206C_202C_202C_200C_206F_200F_202B_200B_200E_206A_202B_206F_206A_202D_200F_200F_206A_202E_200E_202B_200C_206F_200B_206E_200C_202E_206A_206F_202E((IDisposable)enumerator);
|
||||
num = -807240815;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_014b:
|
||||
break;
|
||||
}
|
||||
}
|
||||
NavEdge current2 = default(NavEdge);
|
||||
RouteCost routeCost = default(RouteCost);
|
||||
List<(string, NavEdge)> list = default(List<(string, NavEdge)>);
|
||||
(string, NavEdge)? tuple = default((string, NavEdge)?);
|
||||
string text2 = default(string);
|
||||
(string, NavEdge)? value = default((string, NavEdge)?);
|
||||
while (true)
|
||||
{
|
||||
int num;
|
||||
if (priorityQueue.Count > 0)
|
||||
{
|
||||
string text = priorityQueue.Dequeue();
|
||||
if (!_202C_200F_206E_202A_200E_206D_206B_202E_200D_200B_202A_202A_206A_200F_202A_206F_202C_206C_200E_206D_202E_202A_200B_202C_202D_206A_206E_202E_200F_206B_202B_200E_206A_206D_202C_202B_200C_202E_206E_202E(text, endId))
|
||||
{
|
||||
num = -1852685480;
|
||||
while (true)
|
||||
float penalty = ((penalizedTargets != null && penalizedTargets.Contains(edge.ToNodeId)) ? 1000000f : 0f);
|
||||
RouteCost routeCost = dictionary[text].Add(edge, penalty);
|
||||
if (routeCost.CompareTo(dictionary[edge.ToNodeId]) < 0)
|
||||
{
|
||||
int num10 = num;
|
||||
int num3 = -1852685479;
|
||||
int num4 = num10;
|
||||
int num11 = num4 + num3;
|
||||
int num12 = num4 & num3;
|
||||
switch (num11 - (num12 + num12))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 0:
|
||||
num = -1852685480;
|
||||
continue;
|
||||
case 1:
|
||||
if (hashSet.Add(text))
|
||||
{
|
||||
num = -1852685477;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
IEnumerator<NavEdge> enumerator2 = graph.GetEdges(text).GetEnumerator();
|
||||
try
|
||||
{
|
||||
num = -890864952;
|
||||
while (true)
|
||||
{
|
||||
int num13 = num;
|
||||
num3 = -890864947;
|
||||
num4 = num13;
|
||||
float num14;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 9:
|
||||
num = -890864952;
|
||||
continue;
|
||||
case 2:
|
||||
num14 = 0f;
|
||||
break;
|
||||
case 1:
|
||||
num = (penalizedTargets.Contains(current2.ToNodeId) ? (-890864946) : (-890864945));
|
||||
continue;
|
||||
case 8:
|
||||
current2 = enumerator2.Current;
|
||||
num = (hashSet.Contains(current2.ToNodeId) ? (-890864952) : (-890864950));
|
||||
continue;
|
||||
case 4:
|
||||
dictionary[current2.ToNodeId] = routeCost;
|
||||
dictionary2[current2.ToNodeId] = (text, current2);
|
||||
priorityQueue.Enqueue(current2.ToNodeId, routeCost);
|
||||
num = -890864952;
|
||||
continue;
|
||||
case 7:
|
||||
num = ((graph.GetNode(current2.ToNodeId) == null) ? (-890864952) : (-890864947));
|
||||
continue;
|
||||
case 0:
|
||||
num = ((penalizedTargets == null) ? (-890864945) : (-890864948));
|
||||
continue;
|
||||
case 5:
|
||||
num = (_202E_202B_206E_206A_202D_206A_206D_202D_206B_206E_200E_202C_206E_202D_206B_202C_206D_202A_200B_206F_206E_200D_206E_200D_202C_200C_202D_206B_206E_200D_206B_200E_206C_200F_202B_200B_202B_200B_200D_206B_202E((IEnumerator)enumerator2) ? (-890864955) : (-890864949));
|
||||
continue;
|
||||
case 3:
|
||||
num14 = 1000000f;
|
||||
break;
|
||||
case 6:
|
||||
goto end_IL_0228;
|
||||
}
|
||||
float penalty = num14;
|
||||
routeCost = dictionary[text].Add(current2, penalty);
|
||||
num = ((routeCost.CompareTo(dictionary[current2.ToNodeId]) >= 0) ? (-890864952) : (-890864951));
|
||||
continue;
|
||||
end_IL_0228:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
num = ((enumerator2 == null) ? (-1559785427) : (-1559785428));
|
||||
while (true)
|
||||
{
|
||||
int num15 = num;
|
||||
num3 = -1559785427;
|
||||
num4 = num15;
|
||||
int num16 = num4 + num3;
|
||||
int num17 = num4 & num3;
|
||||
switch (num16 - (num17 + num17))
|
||||
{
|
||||
case 0:
|
||||
goto end_IL_041a;
|
||||
case 1:
|
||||
_206C_206D_206D_200F_206D_202B_202A_206A_200D_206D_206E_202B_206C_202C_202C_200C_206F_200F_202B_200B_200E_206A_202B_206F_206A_202D_200F_200F_206A_202E_200E_202B_200C_206F_200B_206E_200C_202E_206A_206F_202E((IDisposable)enumerator2);
|
||||
num = -1559785427;
|
||||
break;
|
||||
case 2:
|
||||
num = -1559785428;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_041a:
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
dictionary[edge.ToNodeId] = routeCost;
|
||||
dictionary2[edge.ToNodeId] = (text, edge);
|
||||
priorityQueue.Enqueue(edge.ToNodeId, routeCost);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
goto IL_055e;
|
||||
}
|
||||
num = 1361377681;
|
||||
goto IL_0480;
|
||||
IL_055e:
|
||||
num = ((!(dictionary[endId] == RouteCost.Max)) ? 1361377683 : 1361377691);
|
||||
goto IL_0480;
|
||||
IL_0480:
|
||||
while (true)
|
||||
{
|
||||
int num18 = num;
|
||||
int num3 = 1361377682;
|
||||
int num4 = num18;
|
||||
int num19 = num4 + num3;
|
||||
int num20 = num4 & num3;
|
||||
object obj2;
|
||||
(string, NavEdge)? obj;
|
||||
switch (num19 - (num20 + num20))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 10:
|
||||
list.Reverse();
|
||||
return list;
|
||||
case 6:
|
||||
obj2 = tuple.GetValueOrDefault().Item1;
|
||||
goto IL_04e4;
|
||||
case 1:
|
||||
list = new List<(string, NavEdge)>();
|
||||
text2 = endId;
|
||||
num = 1361377690;
|
||||
continue;
|
||||
case 4:
|
||||
obj = value;
|
||||
goto IL_050a;
|
||||
case 9:
|
||||
return null;
|
||||
case 3:
|
||||
break;
|
||||
case 5:
|
||||
num = (dictionary2.TryGetValue(text2, out value) ? 1361377686 : 1361377680);
|
||||
continue;
|
||||
case 8:
|
||||
num = ((text2 != null) ? 1361377687 : 1361377688);
|
||||
continue;
|
||||
case 7:
|
||||
obj2 = null;
|
||||
goto IL_04e4;
|
||||
case 2:
|
||||
obj = null;
|
||||
goto IL_050a;
|
||||
case 0:
|
||||
{
|
||||
num = 1361377681;
|
||||
continue;
|
||||
}
|
||||
IL_04e4:
|
||||
text2 = (string)obj2;
|
||||
num = 1361377690;
|
||||
continue;
|
||||
IL_050a:
|
||||
tuple = obj;
|
||||
list.Add((text2, tuple?.Item2));
|
||||
num = (tuple.HasValue ? 1361377684 : 1361377685);
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
goto IL_055e;
|
||||
}
|
||||
if (dictionary[endId] == RouteCost.Max)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
List<(string, NavEdge)> list = new List<(string, NavEdge)>();
|
||||
string text2 = endId;
|
||||
while (text2 != null)
|
||||
{
|
||||
(string, NavEdge)? value;
|
||||
(string, NavEdge)? tuple = (dictionary2.TryGetValue(text2, out value) ? value : (((string, NavEdge)?)null));
|
||||
list.Add((text2, tuple?.Item2));
|
||||
text2 = tuple?.Item1;
|
||||
}
|
||||
list.Reverse();
|
||||
return list;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private RouteResult BuildRouteResult(NavGraph graph, List<(string NodeId, NavEdge? ViaEdge)> path, PlayerNavState playerState)
|
||||
{
|
||||
List<RouteSegment> list = new List<RouteSegment>();
|
||||
float num = 0f;
|
||||
int num2 = 0;
|
||||
int num3 = 1;
|
||||
int num4 = -1379840966;
|
||||
NavNode node = default(NavNode);
|
||||
NavEdge item2 = default(NavEdge);
|
||||
NavNode node2 = default(NavNode);
|
||||
NavEdgeType edgeType = default(NavEdgeType);
|
||||
bool flag2 = default(bool);
|
||||
int num11 = default(int);
|
||||
while (true)
|
||||
for (int i = 1; i < path.Count; i++)
|
||||
{
|
||||
int num5 = num4;
|
||||
int num6 = -1379840964;
|
||||
int num7 = num5;
|
||||
int num8 = num7 + num6;
|
||||
int num9 = num7 & num6;
|
||||
switch (num8 - (num9 + num9))
|
||||
NavEdge item = path[i].ViaEdge;
|
||||
if (!(item == null))
|
||||
{
|
||||
case 13:
|
||||
node = graph.GetNode(item2.FromNodeId);
|
||||
node2 = graph.GetNode(item2.ToNodeId);
|
||||
edgeType = item2.EdgeType;
|
||||
num4 = ((edgeType == NavEdgeType.WithinZone) ? (-1379840963) : (-1379840964));
|
||||
break;
|
||||
case 8:
|
||||
{
|
||||
bool flag = flag2;
|
||||
RouteSegment item = new RouteSegment(item2.EdgeType, node, node2, item2.TimeCostSeconds, item2.GilCost, GetTeleportTarget(node2), GetAethernetLocation(node), GetAethernetLocation(node2), flag && IsFlyingSegment(node, playerState));
|
||||
list.Add(item);
|
||||
num += item2.TimeCostSeconds;
|
||||
num2 += item2.GilCost;
|
||||
num4 = -1379840962;
|
||||
break;
|
||||
}
|
||||
case 11:
|
||||
num4 = -1379840966;
|
||||
break;
|
||||
case 3:
|
||||
return new RouteResult(list, num, num2);
|
||||
case 4:
|
||||
flag2 = false;
|
||||
num4 = -1379840972;
|
||||
break;
|
||||
case 9:
|
||||
num11 = 0;
|
||||
num4 = -1379840976;
|
||||
break;
|
||||
case 7:
|
||||
{
|
||||
RouteSegment routeSegment = list[num11];
|
||||
string text = FormatNodeLabel(routeSegment.From);
|
||||
string text2 = FormatNodeLabel(routeSegment.To);
|
||||
ILogger<NavRouter> logger = _logger;
|
||||
string text3 = 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>(-1568494376);
|
||||
object[] array = new object[6];
|
||||
int num12 = num11;
|
||||
num6 = 1;
|
||||
num7 = num12;
|
||||
array[0] = (num7 | num6) + (num7 & num6);
|
||||
array[1] = routeSegment.EdgeType;
|
||||
array[2] = text;
|
||||
array[3] = text2;
|
||||
array[4] = routeSegment.TimeCost;
|
||||
array[5] = routeSegment.GilCost;
|
||||
_206E_200F_202A_200D_206F_206C_200E_200F_206A_202B_202D_202A_202A_206D_200D_202D_200B_200F_202B_206A_206E_202A_202E_206F_202E_202A_200D_206A_202D_200F_206D_206E_200D_202E_202B_206C_206D_202D_202A_202E((ILogger)logger, text3, array);
|
||||
int num13 = num11;
|
||||
num6 = 1;
|
||||
num7 = num13;
|
||||
int num14 = num7 ^ num6;
|
||||
int num15 = num7 & num6;
|
||||
num11 = num14 + (num15 + num15);
|
||||
num4 = -1379840976;
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
num4 = (((uint)(edgeType - 3) > 1u) ? (-1379840968) : (-1379840963));
|
||||
break;
|
||||
case 12:
|
||||
num4 = ((num11 < list.Count) ? (-1379840965) : (-1379840961));
|
||||
break;
|
||||
case 5:
|
||||
_206E_200F_202A_200D_206F_206C_200E_200F_206A_202B_202D_202A_202A_206D_200D_202D_200B_200F_202B_206A_206E_202A_202E_206F_202E_202A_200D_206A_202D_200F_206D_206E_200D_202E_202B_206C_206D_202D_202A_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>(-876283160), new object[3] { list.Count, num, num2 });
|
||||
num4 = ((!_206E_202B_202B_206F_200C_200D_206E_202D_202C_206E_206B_200D_206F_202C_200D_206A_200F_206D_202D_200B_200E_206F_202C_200B_200B_206D_200D_202A_206D_206E_206A_202C_202A_200F_200D_202D_200C_206A_202B_200E_202E((ILogger)_logger, LogLevel.Debug)) ? (-1379840961) : (-1379840971));
|
||||
break;
|
||||
case 10:
|
||||
item2 = path[num3].ViaEdge;
|
||||
num4 = ((item2 == null) ? (-1379840962) : (-1379840975));
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
int num10 = num3;
|
||||
num6 = 1;
|
||||
num7 = num10;
|
||||
num3 = (num7 | num6) + (num7 & num6);
|
||||
num4 = -1379840966;
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
flag2 = true;
|
||||
num4 = -1379840972;
|
||||
break;
|
||||
case 6:
|
||||
num4 = ((num3 < path.Count) ? (-1379840970) : (-1379840967));
|
||||
break;
|
||||
NavNode node = graph.GetNode(item.FromNodeId);
|
||||
NavNode node2 = graph.GetNode(item.ToNodeId);
|
||||
NavEdgeType edgeType = item.EdgeType;
|
||||
bool flag = ((edgeType == NavEdgeType.WithinZone || (uint)(edgeType - 3) <= 1u) ? true : false);
|
||||
bool flag2 = flag;
|
||||
RouteSegment item2 = new RouteSegment(item.EdgeType, node, node2, item.TimeCostSeconds, item.GilCost, GetTeleportTarget(node2), GetAethernetLocation(node), GetAethernetLocation(node2), flag2 && IsFlyingSegment(node, playerState));
|
||||
list.Add(item2);
|
||||
num += item.TimeCostSeconds;
|
||||
num2 += item.GilCost;
|
||||
}
|
||||
}
|
||||
_logger.LogDebug("Route found: {SegmentCount} segments, {Time:F1}s, {Gil} gil", list.Count, num, num2);
|
||||
if (_logger.IsEnabled(LogLevel.Debug))
|
||||
{
|
||||
for (int j = 0; j < list.Count; j++)
|
||||
{
|
||||
RouteSegment routeSegment = list[j];
|
||||
string text = FormatNodeLabel(routeSegment.From);
|
||||
string text2 = FormatNodeLabel(routeSegment.To);
|
||||
_logger.LogDebug(" [{Index}] {Type}: {From} -> {To} ({Time:F1}s, {Gil} gil)", j + 1, routeSegment.EdgeType, text, text2, routeSegment.TimeCost, routeSegment.GilCost);
|
||||
}
|
||||
}
|
||||
return new RouteResult(list, num, num2);
|
||||
}
|
||||
|
||||
private static EAetheryteLocation? GetTeleportTarget(NavNode node)
|
||||
{
|
||||
NavNode.AetheryteNode aetheryteNode = node as NavNode.AetheryteNode;
|
||||
int num = (((object)aetheryteNode == null) ? 580580720 : 580580722);
|
||||
EAetheryteLocation? result = default(EAetheryteLocation?);
|
||||
while (true)
|
||||
if (node is NavNode.AetheryteNode aetheryteNode)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 580580721;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
num = 580580722;
|
||||
break;
|
||||
case 1:
|
||||
result = null;
|
||||
num = 580580723;
|
||||
break;
|
||||
case 3:
|
||||
result = aetheryteNode.Aetheryte;
|
||||
num = 580580723;
|
||||
break;
|
||||
case 2:
|
||||
return result;
|
||||
}
|
||||
return aetheryteNode.Aetheryte;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static EAetheryteLocation? GetAethernetLocation(NavNode node)
|
||||
{
|
||||
NavNode.AetheryteNode aetheryteNode = node as NavNode.AetheryteNode;
|
||||
int num = (((object)aetheryteNode != null) ? (-1554241774) : (-1554241770));
|
||||
EAetheryteLocation? result = default(EAetheryteLocation?);
|
||||
NavNode.AethernetNode aethernetNode = default(NavNode.AethernetNode);
|
||||
while (true)
|
||||
if (!(node is NavNode.AetheryteNode aetheryteNode))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1554241772;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
if (node is NavNode.AethernetNode aethernetNode)
|
||||
{
|
||||
case 6:
|
||||
result = aetheryteNode.Aetheryte;
|
||||
num = -1554241776;
|
||||
break;
|
||||
case 4:
|
||||
return result;
|
||||
case 2:
|
||||
aethernetNode = node as NavNode.AethernetNode;
|
||||
num = (((object)aethernetNode != null) ? (-1554241769) : (-1554241771));
|
||||
break;
|
||||
case 5:
|
||||
result = null;
|
||||
num = -1554241776;
|
||||
break;
|
||||
case 0:
|
||||
num = -1554241770;
|
||||
break;
|
||||
case 3:
|
||||
result = aethernetNode.Aethernet;
|
||||
num = -1554241776;
|
||||
break;
|
||||
case 1:
|
||||
num = -1554241775;
|
||||
break;
|
||||
return aethernetNode.Aethernet;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
return aetheryteNode.Aetheryte;
|
||||
}
|
||||
|
||||
private static bool IsFlyingSegment(NavNode from, PlayerNavState playerState)
|
||||
|
|
@ -686,58 +201,9 @@ public sealed class NavRouter
|
|||
return playerState.IsFlyingUnlocked(from.TerritoryId);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private string FormatNodeLabel(NavNode node)
|
||||
{
|
||||
string text = _territoryInfo.GetName(node.TerritoryId);
|
||||
if (text == null)
|
||||
{
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 1);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(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>(-907107096));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(node.TerritoryId);
|
||||
text = defaultInterpolatedStringHandler.ToStringAndClear();
|
||||
}
|
||||
string text2 = text;
|
||||
return _206C_206A_200F_202B_202D_206B_206D_206A_206E_206E_200E_200B_206D_206B_206A_206E_202B_206F_200E_202A_200F_202C_200E_202E_202D_200D_200B_200D_200C_206A_200F_206A_206F_200F_200C_206D_200D_200B_202D_202A_202E(node.Label, 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>(-546241467), text2, 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>(998949340));
|
||||
}
|
||||
|
||||
static void _202C_200E_200B_200F_200E_202A_200F_206E_206E_206E_200E_202B_202A_200B_202E_200E_206A_206E_200D_200B_200C_202C_202C_202A_202E_200D_200F_200F_206C_200B_206A_202B_200B_206A_200E_200E_206A_202A_202A_206E_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogWarning(P_1, P_2);
|
||||
}
|
||||
|
||||
static bool _206C_206C_206F_202B_206E_202D_206B_200C_202E_202A_202B_206E_200D_206A_200D_202C_202A_206E_206A_206F_200C_200B_206F_202A_202C_206F_206D_202D_206D_200C_206E_206C_206F_200E_202A_202B_206C_206D_202D_206A_202E(string P_0, string P_1)
|
||||
{
|
||||
return P_0 != P_1;
|
||||
}
|
||||
|
||||
static bool _202E_202B_206E_206A_202D_206A_206D_202D_206B_206E_200E_202C_206E_202D_206B_202C_206D_202A_200B_206F_206E_200D_206E_200D_202C_200C_202D_206B_206E_200D_206B_200E_206C_200F_202B_200B_202B_200B_200D_206B_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _206C_206D_206D_200F_206D_202B_202A_206A_200D_206D_206E_202B_206C_202C_202C_200C_206F_200F_202B_200B_200E_206A_202B_206F_206A_202D_200F_200F_206A_202E_200E_202B_200C_206F_200B_206E_200C_202E_206A_206F_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static bool _202C_200F_206E_202A_200E_206D_206B_202E_200D_200B_202A_202A_206A_200F_202A_206F_202C_206C_200E_206D_202E_202A_200B_202C_202D_206A_206E_202E_200F_206B_202B_200E_206A_206D_202C_202B_200C_202E_206E_202E(string P_0, string P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
|
||||
static void _206E_200F_202A_200D_206F_206C_200E_200F_206A_202B_202D_202A_202A_206D_200D_202D_200B_200F_202B_206A_206E_202A_202E_206F_202E_202A_200D_206A_202D_200F_206D_206E_200D_202E_202B_206C_206D_202D_202A_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
|
||||
static bool _206E_202B_202B_206F_200C_200D_206E_202D_202C_206E_206B_200D_206F_202C_200D_206A_200F_206D_202D_200B_200E_206F_202C_200B_200B_206D_200D_202A_206D_206E_206A_202C_202A_200F_200D_202D_200C_206A_202B_200E_202E(ILogger P_0, LogLevel P_1)
|
||||
{
|
||||
return P_0.IsEnabled(P_1);
|
||||
}
|
||||
|
||||
static string _206C_206A_200F_202B_202D_206B_206D_206A_206E_206E_200E_200B_206D_206B_206A_206E_202B_206F_200E_202A_200F_202C_200E_202E_202D_200D_200B_200D_200C_206A_200F_206A_206F_200F_200C_206D_200D_200B_202D_202A_202E(string P_0, string P_1, string P_2, string P_3)
|
||||
{
|
||||
return P_0 + P_1 + P_2 + P_3;
|
||||
string text = _territoryInfo.GetName(node.TerritoryId) ?? $"t{node.TerritoryId}";
|
||||
return node.Label + " (" + text + ")";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,51 +49,20 @@ public sealed class PlayerNavState
|
|||
|
||||
public bool CanAffordTeleport(int gilCost)
|
||||
{
|
||||
int num = ((gilCost == 0) ? (-1679548290) : (-1679548289));
|
||||
while (true)
|
||||
if (gilCost != 0)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1679548290;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
goto IL_0041;
|
||||
case 0:
|
||||
return true;
|
||||
case 1:
|
||||
return Gil - gilCost >= GilReserve;
|
||||
}
|
||||
continue;
|
||||
IL_0041:
|
||||
num = -1679548289;
|
||||
return Gil - gilCost >= GilReserve;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public int GetTeleportCost(EAetheryteLocation aetheryte)
|
||||
{
|
||||
int value;
|
||||
int num = (TeleportCosts.TryGetValue(aetheryte, out value) ? 1986787901 : 1986787902);
|
||||
while (true)
|
||||
if (!TeleportCosts.TryGetValue(aetheryte, out var value))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1986787900;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
goto IL_0050;
|
||||
case 2:
|
||||
return 999;
|
||||
case 1:
|
||||
return value;
|
||||
}
|
||||
continue;
|
||||
IL_0050:
|
||||
num = 1986787902;
|
||||
return 999;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
public bool IsAetheryteUnlocked(EAetheryteLocation aetheryte)
|
||||
|
|
@ -108,28 +77,11 @@ public sealed class PlayerNavState
|
|||
|
||||
public int GetMountSpeedLevel(uint territoryId)
|
||||
{
|
||||
int value;
|
||||
int num = (MountSpeedLevels.TryGetValue(territoryId, out value) ? (-743814756) : (-743814753));
|
||||
while (true)
|
||||
if (!MountSpeedLevels.TryGetValue(territoryId, out var value))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -743814754;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
goto IL_0050;
|
||||
case 1:
|
||||
return 0;
|
||||
case 2:
|
||||
return value;
|
||||
}
|
||||
continue;
|
||||
IL_0050:
|
||||
num = -743814753;
|
||||
return 0;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
public bool IsQuestComplete(uint questRowId)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,4 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using Dalamud.Game.ClientState.Aetherytes;
|
||||
using Dalamud.Game.ClientState.Objects.Types;
|
||||
using Dalamud.Plugin.Services;
|
||||
|
|
@ -19,608 +16,146 @@ public class PlayerNavStateBuilder(IClientState clientState, IObjectTable object
|
|||
{
|
||||
public virtual PlayerNavState? Build(int? gilReserveOverride = null)
|
||||
{
|
||||
IGameObject gameObject = _206E_202E_200C_206A_202C_202C_206E_202E_206C_202A_206D_202D_206B_206B_202B_206D_206C_206C_206D_206A_206E_200F_206A_206C_200D_206B_200E_206A_206E_206B_206D_202B_202A_206F_202A_202B_202D_202C_206E_202A_202E(objectTable, 0);
|
||||
int num = ((gameObject != null) ? 1190878108 : 1190878111);
|
||||
EAetheryteLocation current2 = default(EAetheryteLocation);
|
||||
EAetheryteLocation current3 = default(EAetheryteLocation);
|
||||
while (true)
|
||||
IGameObject gameObject = objectTable[0];
|
||||
if (gameObject == null)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1190878109;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
goto IL_0057;
|
||||
case 2:
|
||||
return null;
|
||||
case 1:
|
||||
{
|
||||
HashSet<EAetheryteLocation> hashSet = new HashSet<EAetheryteLocation>();
|
||||
Dictionary<EAetheryteLocation, int> dictionary = new Dictionary<EAetheryteLocation, int>();
|
||||
EAetheryteLocation homeAetheryte = (EAetheryteLocation)_200D_200E_202C_202E_206F_200E_202C_206F_200F_200C_206C_200D_200F_200E_202B_200C_202B_200F_200C_200F_206D_206F_202B_206B_202D_200E_200D_206E_206F_202E_206D_202C_202B_200C_200B_206D_206D_202A_206E_206B_202E();
|
||||
EAetheryteLocation? freeAetheryte = null;
|
||||
byte maxExpansion = _202A_200E_200B_200F_206A_202C_202A_206D_202C_206A_202C_206F_202C_202B_206E_206A_202A_200E_200D_206C_202B_200D_206E_200D_206D_200F_206A_202D_202C_206F_200D_200C_206B_206B_206A_206E_200E_200E_206A_202B_202E();
|
||||
IEnumerator<IAetheryteEntry> enumerator = aetheryteList.GetEnumerator();
|
||||
try
|
||||
{
|
||||
num = -2145786572;
|
||||
while (true)
|
||||
{
|
||||
int num5 = num;
|
||||
num3 = -2145786572;
|
||||
num4 = num5;
|
||||
int num6 = num4 + num3;
|
||||
int num7 = num4 & num3;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 0:
|
||||
num = (_200F_200B_206B_200F_200E_202B_200F_202B_206B_202D_202A_206E_200F_200E_202E_206C_206D_202E_206F_202E_206B_202D_202D_202B_202D_202C_202C_206E_202C_200D_202A_200E_206D_200B_202E_200F_206E_206E_200D_206C_202E((IEnumerator)enumerator) ? (-2145786571) : (-2145786570));
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
IAetheryteEntry current = enumerator.Current;
|
||||
EAetheryteLocation eAetheryteLocation = (EAetheryteLocation)_200C_200D_202E_202B_206B_202A_206C_202E_206D_202D_206A_206A_202A_206F_202D_200F_202A_206B_206A_206F_200B_202C_206E_206B_200D_200D_200E_206B_202C_206D_206A_200F_202B_202A_200D_202B_206C_206D_200F_200D_202E(current);
|
||||
hashSet.Add(eAetheryteLocation);
|
||||
dictionary[eAetheryteLocation] = (int)_202B_206D_202D_200B_200B_200C_206B_200E_200B_202A_200D_206E_202D_200B_206F_206B_200D_202E_200E_206E_202E_200D_206F_206D_206A_200F_206E_200C_202D_202D_206C_206D_202E_200B_200D_206F_202D_200B_206E_200D_202E(current);
|
||||
num = -2145786572;
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
num = -2145786572;
|
||||
break;
|
||||
case 2:
|
||||
goto end_IL_009f;
|
||||
}
|
||||
continue;
|
||||
end_IL_009f:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
num = ((enumerator == null) ? 1827327183 : 1827327180);
|
||||
while (true)
|
||||
{
|
||||
int num8 = num;
|
||||
num3 = 1827327181;
|
||||
num4 = num8;
|
||||
int num9 = num4 + num3;
|
||||
int num10 = num4 & num3;
|
||||
switch (num9 - (num10 + num10))
|
||||
{
|
||||
case 0:
|
||||
num = 1827327180;
|
||||
break;
|
||||
case 1:
|
||||
_202B_200E_206C_200E_200E_206E_202B_200C_202B_200B_206D_202E_200C_200F_206C_202D_200D_202A_200E_206B_202B_206B_202A_200C_206D_200D_206E_202C_202B_206E_206A_200B_206D_200E_202A_202D_200B_206F_200C_202E((IDisposable)enumerator);
|
||||
num = 1827327183;
|
||||
break;
|
||||
case 2:
|
||||
goto end_IL_015b;
|
||||
}
|
||||
continue;
|
||||
end_IL_015b:
|
||||
break;
|
||||
}
|
||||
}
|
||||
IEnumerator<EAetheryteLocation> enumerator2 = aetheryteData.Locations.Keys.GetEnumerator();
|
||||
try
|
||||
{
|
||||
num = 463235074;
|
||||
while (true)
|
||||
{
|
||||
int num11 = num;
|
||||
num3 = 463235072;
|
||||
num4 = num11;
|
||||
int num12 = num4 + num3;
|
||||
int num13 = num4 & num3;
|
||||
switch (num12 - (num13 + num13))
|
||||
{
|
||||
case 2:
|
||||
num = (_200F_200B_206B_200F_200E_202B_200F_202B_206B_202D_202A_206E_200F_200E_202E_206C_206D_202E_206F_202E_206B_202D_202D_202B_202D_202C_202C_206E_202C_200D_202A_200E_206D_200B_202E_200F_206E_206E_200D_206C_202E((IEnumerator)enumerator2) ? 463235076 : 463235073);
|
||||
break;
|
||||
case 4:
|
||||
current2 = enumerator2.Current;
|
||||
num = ((!playerContext.IsAetheryteUnlocked(current2)) ? 463235074 : 463235072);
|
||||
break;
|
||||
case 0:
|
||||
hashSet.Add(current2);
|
||||
num = 463235074;
|
||||
break;
|
||||
case 3:
|
||||
num = 463235074;
|
||||
break;
|
||||
case 1:
|
||||
goto end_IL_01cc;
|
||||
}
|
||||
continue;
|
||||
end_IL_01cc:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
num = ((enumerator2 == null) ? 1430009245 : 1430009244);
|
||||
while (true)
|
||||
{
|
||||
int num14 = num;
|
||||
num3 = 1430009245;
|
||||
num4 = num14;
|
||||
int num15 = num4 + num3;
|
||||
int num16 = num4 & num3;
|
||||
switch (num15 - (num16 + num16))
|
||||
{
|
||||
case 2:
|
||||
num = 1430009244;
|
||||
break;
|
||||
case 1:
|
||||
_202B_200E_206C_200E_200E_206E_202B_200C_202B_200B_206D_202E_200C_200F_206C_202D_200D_202A_200E_206B_202B_206B_202A_200C_206D_200D_206E_202C_202B_206E_206A_200B_206D_200E_202A_202D_200B_206F_200C_202E((IDisposable)enumerator2);
|
||||
num = 1430009245;
|
||||
break;
|
||||
case 0:
|
||||
goto end_IL_029e;
|
||||
}
|
||||
continue;
|
||||
end_IL_029e:
|
||||
break;
|
||||
}
|
||||
}
|
||||
using (HashSet<EAetheryteLocation>.Enumerator enumerator3 = hashSet.GetEnumerator())
|
||||
{
|
||||
num = 1372900048;
|
||||
while (true)
|
||||
{
|
||||
int num17 = num;
|
||||
num3 = 1372900048;
|
||||
num4 = num17;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
EAetheryteLocation value = current3;
|
||||
freeAetheryte = value;
|
||||
num = 1372900050;
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
dictionary[current3] = 0;
|
||||
num = 1372900048;
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
EAetheryteLocation value = freeAetheryte.GetValueOrDefault();
|
||||
num = (freeAetheryte.HasValue ? 1372900050 : 1372900049);
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
num = (enumerator3.MoveNext() ? 1372900054 : 1372900052);
|
||||
break;
|
||||
case 6:
|
||||
current3 = enumerator3.Current;
|
||||
num = ((!_206D_200C_206C_206D_200F_202A_206C_206D_200D_200E_202C_206D_200C_202E_200C_202E_200E_202C_206F_206C_206A_206C_200B_202E_202C_206B_200E_200B_202D_206D_200F_202D_200C_200E_200C_200F_200B_202C_206C_200D_202E((uint)current3)) ? 1372900048 : 1372900051);
|
||||
break;
|
||||
case 5:
|
||||
num = 1372900048;
|
||||
break;
|
||||
case 4:
|
||||
goto end_IL_0300;
|
||||
}
|
||||
continue;
|
||||
end_IL_0300:
|
||||
break;
|
||||
}
|
||||
}
|
||||
int currentGil = GetCurrentGil();
|
||||
HashSet<uint> flyingUnlockedTerritories = BuildFlyingUnlockedSet();
|
||||
Dictionary<uint, int> mountSpeedLevels = BuildMountSpeedLevels();
|
||||
PlayerNavState obj = new PlayerNavState
|
||||
{
|
||||
CurrentTerritoryId = _206F_206D_202D_206C_202E_200E_202A_206C_206C_206D_202D_200B_202D_202C_200C_202D_202C_206D_200E_206D_202C_206A_200B_202D_200B_206C_200B_200C_200E_206E_200E_200F_206E_202B_202E_206A_200C_206A_206E_206B_202E(clientState),
|
||||
CurrentPosition = _206E_206B_200F_200B_206D_202B_202E_200E_200C_202D_200E_202B_200F_206D_200B_206A_206C_206D_206A_202B_202C_206E_206E_202C_206B_202C_206B_200C_200C_206D_206C_202D_206B_206B_206C_202D_202B_206D_202E(gameObject),
|
||||
Gil = currentGil,
|
||||
GilReserve = (gilReserveOverride ?? playerContext.GilReserve),
|
||||
TeleportUnlocked = playerContext.IsTeleportUnlocked(),
|
||||
ReturnAvailable = playerContext.IsReturnAvailable(),
|
||||
MountUnlocked = _202C_200C_202D_206E_206F_202A_200C_202C_206D_206E_202E_200E_206A_200E_202C_200F_206D_200E_200D_202C_202C_202A_200F_202E_206A_206E_206A_206A_206C_202B_206B_206A_200B_202E_206E_200B_202D_202B_206C_200F_202E(),
|
||||
UnlockedAetherytes = hashSet,
|
||||
HomeAetheryte = homeAetheryte,
|
||||
FreeAetheryte = freeAetheryte,
|
||||
TeleportCosts = dictionary,
|
||||
FlyingUnlockedTerritories = flyingUnlockedTerritories,
|
||||
MountSpeedLevels = mountSpeedLevels,
|
||||
MaxExpansion = maxExpansion
|
||||
};
|
||||
ICharacter obj2 = gameObject as ICharacter;
|
||||
obj.CurrentLevel = ((obj2 != null) ? _200B_202C_202B_202D_206F_206B_206C_200F_206D_206E_200D_200B_202D_202E_202B_202C_206A_206C_202A_200D_202B_206E_200E_206F_202E_206E_200F_200D_200E_206C_202C_206C_202A_202E_206B_200F_206E_202B_202E_202E_202E(obj2) : 0);
|
||||
obj.CurrentMsqQuestId = playerContext.CurrentMsqQuestId;
|
||||
obj.PreferFreeTravel = playerContext.PreferFreeTravel;
|
||||
obj.QuestCompleteChecker = delegate(uint rowId)
|
||||
{
|
||||
int num18 = 65535;
|
||||
return QuestManager.IsQuestComplete((ushort)((rowId | (uint)num18) - (rowId ^ (uint)num18)));
|
||||
};
|
||||
obj.QuestSequenceChecker = delegate(uint rowId)
|
||||
{
|
||||
int num18 = 65535;
|
||||
return QuestManager.GetQuestSequence((ushort)((rowId | (uint)num18) - (rowId ^ (uint)num18)));
|
||||
};
|
||||
obj.AvailableTeleportTickets = BuildAvailableTeleportTickets();
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
continue;
|
||||
IL_0057:
|
||||
num = 1190878111;
|
||||
return null;
|
||||
}
|
||||
HashSet<EAetheryteLocation> hashSet = new HashSet<EAetheryteLocation>();
|
||||
Dictionary<EAetheryteLocation, int> dictionary = new Dictionary<EAetheryteLocation, int>();
|
||||
EAetheryteLocation homeAetheryteId = (EAetheryteLocation)PlayerStateHelper.GetHomeAetheryteId();
|
||||
EAetheryteLocation? freeAetheryte = null;
|
||||
byte maxExpansion = PlayerStateHelper.GetMaxExpansion();
|
||||
foreach (IAetheryteEntry item in aetheryteList)
|
||||
{
|
||||
EAetheryteLocation aetheryteId = (EAetheryteLocation)item.AetheryteId;
|
||||
hashSet.Add(aetheryteId);
|
||||
dictionary[aetheryteId] = (int)item.GilCost;
|
||||
}
|
||||
foreach (EAetheryteLocation key in aetheryteData.Locations.Keys)
|
||||
{
|
||||
if (playerContext.IsAetheryteUnlocked(key))
|
||||
{
|
||||
hashSet.Add(key);
|
||||
}
|
||||
}
|
||||
foreach (EAetheryteLocation item2 in hashSet)
|
||||
{
|
||||
if (PlayerStateHelper.IsFreeAetheryte((uint)item2))
|
||||
{
|
||||
EAetheryteLocation valueOrDefault = freeAetheryte.GetValueOrDefault();
|
||||
if (!freeAetheryte.HasValue)
|
||||
{
|
||||
valueOrDefault = item2;
|
||||
freeAetheryte = valueOrDefault;
|
||||
}
|
||||
dictionary[item2] = 0;
|
||||
}
|
||||
}
|
||||
int currentGil = GetCurrentGil();
|
||||
HashSet<uint> flyingUnlockedTerritories = BuildFlyingUnlockedSet();
|
||||
Dictionary<uint, int> mountSpeedLevels = BuildMountSpeedLevels();
|
||||
return new PlayerNavState
|
||||
{
|
||||
CurrentTerritoryId = clientState.TerritoryType,
|
||||
CurrentPosition = gameObject.Position,
|
||||
Gil = currentGil,
|
||||
GilReserve = (gilReserveOverride ?? playerContext.GilReserve),
|
||||
TeleportUnlocked = playerContext.IsTeleportUnlocked(),
|
||||
ReturnAvailable = playerContext.IsReturnAvailable(),
|
||||
MountUnlocked = PlayerStateHelper.IsAnyMountUnlocked(),
|
||||
UnlockedAetherytes = hashSet,
|
||||
HomeAetheryte = homeAetheryteId,
|
||||
FreeAetheryte = freeAetheryte,
|
||||
TeleportCosts = dictionary,
|
||||
FlyingUnlockedTerritories = flyingUnlockedTerritories,
|
||||
MountSpeedLevels = mountSpeedLevels,
|
||||
MaxExpansion = maxExpansion,
|
||||
CurrentLevel = ((gameObject as ICharacter)?.Level ?? 0),
|
||||
CurrentMsqQuestId = playerContext.CurrentMsqQuestId,
|
||||
PreferFreeTravel = playerContext.PreferFreeTravel,
|
||||
QuestCompleteChecker = (uint rowId) => QuestManager.IsQuestComplete((ushort)(rowId & 0xFFFF)),
|
||||
QuestSequenceChecker = (uint rowId) => QuestManager.GetQuestSequence((ushort)(rowId & 0xFFFF)),
|
||||
AvailableTeleportTickets = BuildAvailableTeleportTickets()
|
||||
};
|
||||
}
|
||||
|
||||
private unsafe HashSet<uint> BuildAvailableTeleportTickets()
|
||||
{
|
||||
HashSet<uint> hashSet = new HashSet<uint>();
|
||||
int num = (playerContext.UseTeleportTickets ? 339924904 : 339924909);
|
||||
InventoryManager* ptr = default(InventoryManager*);
|
||||
TeleportTicketService.TeleportTicket current = default(TeleportTicketService.TeleportTicket);
|
||||
while (true)
|
||||
if (!playerContext.UseTeleportTickets)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 339924908;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
return hashSet;
|
||||
}
|
||||
InventoryManager* ptr = InventoryManager.Instance();
|
||||
if (ptr == null)
|
||||
{
|
||||
return hashSet;
|
||||
}
|
||||
byte grandCompanyId = GrandCompanyHelper.GetGrandCompanyId();
|
||||
foreach (TeleportTicketService.TeleportTicket ticket in teleportTicketService.Tickets)
|
||||
{
|
||||
if ((ticket.RequiredGrandCompany == 0 || ticket.RequiredGrandCompany == grandCompanyId) && (ticket.RequiredQuestId == 0 || QuestManager.IsQuestComplete((ushort)(ticket.RequiredQuestId & 0xFFFF))) && ptr->GetInventoryItemCount(ticket.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) > 0)
|
||||
{
|
||||
case 0:
|
||||
return hashSet;
|
||||
case 4:
|
||||
ptr = InventoryManager.Instance();
|
||||
num = ((ptr != null) ? 339924911 : 339924908);
|
||||
break;
|
||||
case 1:
|
||||
return hashSet;
|
||||
case 2:
|
||||
num = 339924909;
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
byte b = _206E_202C_202E_206F_206F_200B_206B_202E_200C_200E_202D_206B_206F_200D_200F_206A_206C_200C_200E_202C_206D_200D_202D_202D_206D_206C_200D_200F_202C_200C_206B_202D_206F_202B_206A_200C_202D_200E_206A_202B_202E();
|
||||
IEnumerator<TeleportTicketService.TeleportTicket> enumerator = teleportTicketService.Tickets.GetEnumerator();
|
||||
try
|
||||
{
|
||||
num = 1253116756;
|
||||
while (true)
|
||||
{
|
||||
int num5 = num;
|
||||
num3 = 1253116758;
|
||||
num4 = num5;
|
||||
int num6 = num4 + num3;
|
||||
int num7 = num4 & num3;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 5:
|
||||
num = 1253116756;
|
||||
break;
|
||||
case 3:
|
||||
num = ((ptr->GetInventoryItemCount(current.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0) <= 0) ? 1253116756 : 1253116752);
|
||||
break;
|
||||
case 0:
|
||||
num = ((current.RequiredGrandCompany != b) ? 1253116756 : 1253116754);
|
||||
break;
|
||||
case 8:
|
||||
num = ((!QuestManager.IsQuestComplete((ushort)(current.RequiredQuestId & 0xFFFF))) ? 1253116756 : 1253116757);
|
||||
break;
|
||||
case 2:
|
||||
num = (_200F_200B_206B_200F_200E_202B_200F_202B_206B_202D_202A_206E_200F_200E_202E_206C_206D_202E_206F_202E_206B_202D_202D_202B_202D_202C_202C_206E_202C_200D_202A_200E_206D_200B_202E_200F_206E_206E_200D_206C_202E((IEnumerator)enumerator) ? 1253116759 : 1253116753);
|
||||
break;
|
||||
case 4:
|
||||
num = ((current.RequiredQuestId == 0) ? 1253116757 : 1253116766);
|
||||
break;
|
||||
case 6:
|
||||
hashSet.Add(current.ItemId);
|
||||
num = 1253116756;
|
||||
break;
|
||||
case 1:
|
||||
current = enumerator.Current;
|
||||
num = ((current.RequiredGrandCompany == 0) ? 1253116754 : 1253116758);
|
||||
break;
|
||||
case 7:
|
||||
return hashSet;
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
num = ((enumerator == null) ? (-2039650) : (-2039651));
|
||||
while (true)
|
||||
{
|
||||
int num8 = num;
|
||||
num3 = -2039649;
|
||||
num4 = num8;
|
||||
int num9 = num4 + num3;
|
||||
int num10 = num4 & num3;
|
||||
switch (num9 - (num10 + num10))
|
||||
{
|
||||
case 0:
|
||||
num = -2039651;
|
||||
break;
|
||||
case 2:
|
||||
_202B_200E_206C_200E_200E_206E_202B_200C_202B_200B_206D_202E_200C_200F_206C_202D_200D_202A_200E_206B_202B_206B_202A_200C_206D_200D_206E_202C_202B_206E_206A_200B_206D_200E_202A_202D_200B_206F_200C_202E((IDisposable)enumerator);
|
||||
num = -2039650;
|
||||
break;
|
||||
case 1:
|
||||
goto end_IL_0241;
|
||||
}
|
||||
continue;
|
||||
end_IL_0241:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
hashSet.Add(ticket.ItemId);
|
||||
}
|
||||
}
|
||||
return hashSet;
|
||||
}
|
||||
|
||||
private HashSet<uint> BuildFlyingUnlockedSet()
|
||||
{
|
||||
HashSet<uint> hashSet = new HashSet<uint>();
|
||||
HashSet<uint> hashSet2 = new HashSet<uint>();
|
||||
IEnumerator<EAetheryteLocation> enumerator = aetheryteData.Locations.Keys.GetEnumerator();
|
||||
try
|
||||
foreach (EAetheryteLocation key in aetheryteData.Locations.Keys)
|
||||
{
|
||||
int num = -1033431506;
|
||||
ushort value = default(ushort);
|
||||
while (true)
|
||||
if (aetheryteData.TerritoryIds.TryGetValue(key, out var value) && hashSet2.Add(value) && playerContext.IsFlyingUnlocked(value))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1033431507;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
hashSet.Add(value);
|
||||
num = -1033431506;
|
||||
break;
|
||||
case 3:
|
||||
num = (_200F_200B_206B_200F_200E_202B_200F_202B_206B_202D_202A_206E_200F_200E_202E_206C_206D_202E_206F_202E_206B_202D_202D_202B_202D_202C_202C_206E_202C_200D_202A_200E_206D_200B_202E_200F_206E_206E_200D_206C_202E((IEnumerator)enumerator) ? (-1033431511) : (-1033431507));
|
||||
break;
|
||||
case 1:
|
||||
num = ((!playerContext.IsFlyingUnlocked(value)) ? (-1033431506) : (-1033431505));
|
||||
break;
|
||||
case 4:
|
||||
{
|
||||
EAetheryteLocation current = enumerator.Current;
|
||||
num = ((!aetheryteData.TerritoryIds.TryGetValue(current, out value)) ? (-1033431506) : (-1033431512));
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
num = -1033431506;
|
||||
break;
|
||||
case 5:
|
||||
num = ((!hashSet2.Add(value)) ? (-1033431506) : (-1033431508));
|
||||
break;
|
||||
case 0:
|
||||
return hashSet;
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
int num = ((enumerator == null) ? 115549312 : 115549315);
|
||||
while (true)
|
||||
{
|
||||
int num5 = num;
|
||||
int num3 = 115549313;
|
||||
int num4 = num5;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = 115549315;
|
||||
break;
|
||||
case 1:
|
||||
goto end_IL_0157;
|
||||
case 2:
|
||||
_202B_200E_206C_200E_200E_206E_202B_200C_202B_200B_206D_202E_200C_200F_206C_202D_200D_202A_200E_206B_202B_206B_202A_200C_206D_200D_206E_202C_202B_206E_206A_200B_206D_200E_202A_202D_200B_206F_200C_202E((IDisposable)enumerator);
|
||||
num = 115549312;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_0157:
|
||||
break;
|
||||
hashSet.Add(value);
|
||||
}
|
||||
}
|
||||
return hashSet;
|
||||
}
|
||||
|
||||
private unsafe Dictionary<uint, int> BuildMountSpeedLevels()
|
||||
{
|
||||
Dictionary<uint, int> dictionary = new Dictionary<uint, int>();
|
||||
ExcelSheet<TerritoryType> excelSheet = dataManager.GetExcelSheet<TerritoryType>();
|
||||
int num = ((excelSheet != null) ? 2051337213 : 2051337214);
|
||||
MountSpeed value = default(MountSpeed);
|
||||
TerritoryType current = default(TerritoryType);
|
||||
int num8 = default(int);
|
||||
while (true)
|
||||
if (excelSheet == null)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 2051337215;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
return dictionary;
|
||||
}
|
||||
UIState* ptr = UIState.Instance();
|
||||
foreach (TerritoryType item in excelSheet)
|
||||
{
|
||||
if (item.RowId != 0 && item.MountSpeed.RowId != 0)
|
||||
{
|
||||
case 0:
|
||||
goto IL_0068;
|
||||
case 1:
|
||||
return dictionary;
|
||||
case 2:
|
||||
{
|
||||
UIState* ptr = UIState.Instance();
|
||||
using ExcelSheet<TerritoryType>.Enumerator enumerator = excelSheet.GetEnumerator();
|
||||
num = 667862093;
|
||||
while (true)
|
||||
MountSpeed value = item.MountSpeed.Value;
|
||||
int num = 0;
|
||||
if (value.Quest.RowId != 0 && ptr != null && ptr->IsUnlockLinkUnlockedOrQuestCompleted(value.Quest.RowId, 0))
|
||||
{
|
||||
int num7 = num;
|
||||
num3 = 667862084;
|
||||
num4 = num7;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = 667862093;
|
||||
break;
|
||||
case 0:
|
||||
value = current.MountSpeed.Value;
|
||||
num8 = 0;
|
||||
num = ((value.Quest.RowId == 0) ? 667862082 : 667862080);
|
||||
break;
|
||||
case 6:
|
||||
num = ((value.Unknown0 == 0) ? 667862087 : 667862083);
|
||||
break;
|
||||
case 14:
|
||||
dictionary[current.RowId] = num8;
|
||||
num = 667862093;
|
||||
break;
|
||||
case 8:
|
||||
num = ((current.MountSpeed.RowId == 0) ? 667862093 : 667862084);
|
||||
break;
|
||||
case 7:
|
||||
num = ((ptr == null) ? 667862087 : 667862095);
|
||||
break;
|
||||
case 9:
|
||||
num = (enumerator.MoveNext() ? 667862088 : 667862094);
|
||||
break;
|
||||
case 3:
|
||||
num = ((num8 <= 0) ? 667862093 : 667862090);
|
||||
break;
|
||||
case 12:
|
||||
current = enumerator.Current;
|
||||
num = ((current.RowId == 0) ? 667862093 : 667862092);
|
||||
break;
|
||||
case 5:
|
||||
{
|
||||
int num12 = num8;
|
||||
num3 = 1;
|
||||
num4 = num12;
|
||||
num8 = (num4 | num3) + (num4 & num3);
|
||||
num = 667862087;
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
num = ((!ptr->IsUnlockLinkUnlockedOrQuestCompleted(value.Quest.RowId, 0)) ? 667862082 : 667862089);
|
||||
break;
|
||||
case 11:
|
||||
num = ((!ptr->IsUnlockLinkUnlockedOrQuestCompleted(value.Unknown0, 0)) ? 667862087 : 667862081);
|
||||
break;
|
||||
case 13:
|
||||
{
|
||||
int num9 = num8;
|
||||
num3 = 1;
|
||||
num4 = num9;
|
||||
int num10 = num4 ^ num3;
|
||||
int num11 = num4 & num3;
|
||||
num8 = num10 + (num11 + num11);
|
||||
num = 667862082;
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
num = ((ptr == null) ? 667862082 : 667862085);
|
||||
break;
|
||||
case 10:
|
||||
return dictionary;
|
||||
}
|
||||
num++;
|
||||
}
|
||||
if (value.Unknown0 != 0 && ptr != null && ptr->IsUnlockLinkUnlockedOrQuestCompleted(value.Unknown0, 0))
|
||||
{
|
||||
num++;
|
||||
}
|
||||
if (num > 0)
|
||||
{
|
||||
dictionary[item.RowId] = num;
|
||||
}
|
||||
}
|
||||
}
|
||||
continue;
|
||||
IL_0068:
|
||||
num = 2051337214;
|
||||
}
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
private unsafe static int GetCurrentGil()
|
||||
{
|
||||
InventoryManager* ptr = InventoryManager.Instance();
|
||||
int num = ((ptr != null) ? (-57715473) : (-57715476));
|
||||
while (true)
|
||||
if (ptr == null)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -57715475;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
goto IL_004b;
|
||||
case 1:
|
||||
return 0;
|
||||
case 2:
|
||||
return ptr->GetItemCountInContainer(1u, InventoryType.Currency, isHq: false, 0);
|
||||
}
|
||||
continue;
|
||||
IL_004b:
|
||||
num = -57715476;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static IGameObject _206E_202E_200C_206A_202C_202C_206E_202E_206C_202A_206D_202D_206B_206B_202B_206D_206C_206C_206D_206A_206E_200F_206A_206C_200D_206B_200E_206A_206E_206B_206D_202B_202A_206F_202A_202B_202D_202C_206E_202A_202E(IObjectTable P_0, int P_1)
|
||||
{
|
||||
return P_0[P_1];
|
||||
}
|
||||
|
||||
static uint _200D_200E_202C_202E_206F_200E_202C_206F_200F_200C_206C_200D_200F_200E_202B_200C_202B_200F_200C_200F_206D_206F_202B_206B_202D_200E_200D_206E_206F_202E_206D_202C_202B_200C_200B_206D_206D_202A_206E_206B_202E()
|
||||
{
|
||||
return PlayerStateHelper.GetHomeAetheryteId();
|
||||
}
|
||||
|
||||
static byte _202A_200E_200B_200F_206A_202C_202A_206D_202C_206A_202C_206F_202C_202B_206E_206A_202A_200E_200D_206C_202B_200D_206E_200D_206D_200F_206A_202D_202C_206F_200D_200C_206B_206B_206A_206E_200E_200E_206A_202B_202E()
|
||||
{
|
||||
return PlayerStateHelper.GetMaxExpansion();
|
||||
}
|
||||
|
||||
static uint _200C_200D_202E_202B_206B_202A_206C_202E_206D_202D_206A_206A_202A_206F_202D_200F_202A_206B_206A_206F_200B_202C_206E_206B_200D_200D_200E_206B_202C_206D_206A_200F_202B_202A_200D_202B_206C_206D_200F_200D_202E(IAetheryteEntry P_0)
|
||||
{
|
||||
return P_0.AetheryteId;
|
||||
}
|
||||
|
||||
static uint _202B_206D_202D_200B_200B_200C_206B_200E_200B_202A_200D_206E_202D_200B_206F_206B_200D_202E_200E_206E_202E_200D_206F_206D_206A_200F_206E_200C_202D_202D_206C_206D_202E_200B_200D_206F_202D_200B_206E_200D_202E(IAetheryteEntry P_0)
|
||||
{
|
||||
return P_0.GilCost;
|
||||
}
|
||||
|
||||
static bool _200F_200B_206B_200F_200E_202B_200F_202B_206B_202D_202A_206E_200F_200E_202E_206C_206D_202E_206F_202E_206B_202D_202D_202B_202D_202C_202C_206E_202C_200D_202A_200E_206D_200B_202E_200F_206E_206E_200D_206C_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _202B_200E_206C_200E_200E_206E_202B_200C_202B_200B_206D_202E_200C_200F_206C_202D_200D_202A_200E_206B_202B_206B_202A_200C_206D_200D_206E_202C_202B_206E_206A_200B_206D_200E_202A_202D_200B_206F_200C_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static bool _206D_200C_206C_206D_200F_202A_206C_206D_200D_200E_202C_206D_200C_202E_200C_202E_200E_202C_206F_206C_206A_206C_200B_202E_202C_206B_200E_200B_202D_206D_200F_202D_200C_200E_200C_200F_200B_202C_206C_200D_202E(uint P_0)
|
||||
{
|
||||
return PlayerStateHelper.IsFreeAetheryte(P_0);
|
||||
}
|
||||
|
||||
static uint _206F_206D_202D_206C_202E_200E_202A_206C_206C_206D_202D_200B_202D_202C_200C_202D_202C_206D_200E_206D_202C_206A_200B_202D_200B_206C_200B_200C_200E_206E_200E_200F_206E_202B_202E_206A_200C_206A_206E_206B_202E(IClientState P_0)
|
||||
{
|
||||
return P_0.TerritoryType;
|
||||
}
|
||||
|
||||
static Vector3 _206E_206B_200F_200B_206D_202B_202E_200E_200C_202D_200E_202B_200F_206D_200B_206A_206C_206D_206A_202B_202C_206E_206E_202C_206B_202C_206B_200C_200C_206D_206C_202D_206B_206B_206C_202D_202B_206D_202E(IGameObject P_0)
|
||||
{
|
||||
return P_0.Position;
|
||||
}
|
||||
|
||||
static bool _202C_200C_202D_206E_206F_202A_200C_202C_206D_206E_202E_200E_206A_200E_202C_200F_206D_200E_200D_202C_202C_202A_200F_202E_206A_206E_206A_206A_206C_202B_206B_206A_200B_202E_206E_200B_202D_202B_206C_200F_202E()
|
||||
{
|
||||
return PlayerStateHelper.IsAnyMountUnlocked();
|
||||
}
|
||||
|
||||
static byte _200B_202C_202B_202D_206F_206B_206C_200F_206D_206E_200D_200B_202D_202E_202B_202C_206A_206C_202A_200D_202B_206E_200E_206F_202E_206E_200F_200D_200E_206C_202C_206C_202A_202E_206B_200F_206E_202B_202E_202E_202E(ICharacter P_0)
|
||||
{
|
||||
return P_0.Level;
|
||||
}
|
||||
|
||||
static byte _206E_202C_202E_206F_206F_200B_206B_202E_200C_200E_202D_206B_206F_200D_200F_206A_206C_200C_200E_202C_206D_200D_202D_202D_206D_206C_200D_200F_202C_200C_206B_202D_206F_202B_206A_200C_202D_200E_206A_202B_202E()
|
||||
{
|
||||
return GrandCompanyHelper.GetGrandCompanyId();
|
||||
return ptr->GetItemCountInContainer(1u, InventoryType.Currency, isHq: false, 0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,462 +1,16 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
|
||||
namespace SmartNav;
|
||||
|
||||
public abstract record ReRouteDecision
|
||||
{
|
||||
public sealed record Replan(IReadOnlyList<NavInstruction> Instructions) : ReRouteDecision()
|
||||
{
|
||||
[CompilerGenerated]
|
||||
protected override Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _202E_200B_206E_202C_200E_202C_200B_200E_206A_200B_206E_206A_202C_202E_202B_202E_202D_202E_206B_206B_200E_206E_200C_202A_202C_200F_206B_202E_206B_200F_202A_200F_200D_202C_200D_202D_200D_200E_206F_202C_202E(typeof(Replan).TypeHandle);
|
||||
}
|
||||
}
|
||||
public sealed record Replan(IReadOnlyList<NavInstruction> Instructions) : ReRouteDecision();
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _206A_200D_206A_202D_200E_202C_202C_206C_200C_206C_206F_202B_202D_200C_202B_202A_206D_206D_200C_206A_200B_202D_206E_206C_206B_200C_202E_206B_202C_202B_200E_200E_206E_206A_200B_200C_206F_200E_206E_202C_202E();
|
||||
_200B_206A_206F_206B_200B_200C_200D_206E_206C_206D_200D_200E_200C_202C_200C_200E_202B_202B_206B_206D_202D_200B_202A_206C_200C_202B_206C_202A_200E_206F_202C_202D_202E_206B_200F_200F_202C_202C_200E_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>(901484357));
|
||||
_200B_206A_206F_206B_200B_200C_200D_206E_206C_206D_200D_200E_200C_202C_200C_200E_202B_202B_206B_206D_202D_200B_202A_206C_200C_202B_206C_202A_200E_206F_202C_202D_202E_206B_200F_200F_202C_202C_200E_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)) ? 1327623448 : 1327623451);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1327623450;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = 1327623451;
|
||||
break;
|
||||
case 2:
|
||||
_200E_202E_206D_202A_206F_200E_206A_200D_206F_206B_200F_202C_206D_206A_206C_202C_206E_206E_202C_206F_200C_202E_206F_200F_202A_202D_206D_202B_200D_202A_202A_202E_206B_202D_200E_206A_202B_200F_206C_206E_202E(stringBuilder, '}');
|
||||
return _206F_206A_202A_206A_200C_200F_200F_206E_202E_202A_206A_200C_206D_206B_200B_200B_200E_202B_206D_202A_206C_202D_202B_206B_206D_202D_206A_202A_200D_206F_200B_202E_202D_202B_206E_200B_200F_206A_202D_206B_202E((object)stringBuilder);
|
||||
case 1:
|
||||
_200E_202E_206D_202A_206F_200E_206A_200D_206F_206B_200F_202C_206D_206A_206C_202C_206E_206E_202C_206F_200C_202E_206F_200F_202A_202D_206D_202B_200D_202A_202A_202E_206B_202D_200E_206A_202B_200F_206C_206E_202E(stringBuilder, ' ');
|
||||
num = 1327623448;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
public sealed record SkipMovement : ReRouteDecision;
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
protected override bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
int num = ((!base.PrintMembers(builder)) ? 1920917747 : 1920917746);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1920917747;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
num = 1920917746;
|
||||
break;
|
||||
case 0:
|
||||
_200B_206A_206F_206B_200B_200C_200D_206E_206C_206D_200D_200E_200C_202C_200C_200E_202B_202B_206B_206D_202D_200B_202A_206C_200C_202B_206C_202A_200E_206F_202C_202D_202E_206B_200F_200F_202C_202C_200E_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>(-15988092));
|
||||
_200D_200D_200F_200C_200D_202C_206F_206F_200C_206F_200E_202A_200F_202C_200F_206D_200D_200F_200E_202C_202D_202B_206E_200F_200B_206D_202A_206C_206A_202B_200B_206B_206C_200B_206E_202B_200E_206B_202C_206C_202E(builder, (object)Instructions);
|
||||
return true;
|
||||
case 1:
|
||||
_200B_206A_206F_206B_200B_200C_200D_206E_206C_206D_200D_200E_200C_202C_200C_200E_202B_202B_206B_206D_202D_200B_202A_206C_200C_202B_206C_202A_200E_206F_202C_202D_202E_206B_200F_200F_202C_202C_200E_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>(520781629));
|
||||
num = 1920917747;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(Replan? other)
|
||||
{
|
||||
int num = (((object)this == other) ? (-1432120076) : (-1432120078));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1432120080;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 1:
|
||||
return EqualityComparer<IReadOnlyList<NavInstruction>>.Default.Equals(Instructions, other.Instructions);
|
||||
case 4:
|
||||
return true;
|
||||
case 3:
|
||||
num = -1432120078;
|
||||
break;
|
||||
case 0:
|
||||
return false;
|
||||
case 2:
|
||||
num = ((!base.Equals(other)) ? (-1432120080) : (-1432120079));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<Replan>.Equals(Replan? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _202E_200B_206E_202C_200E_202C_200B_200E_206A_200B_206E_206A_202C_202E_202B_202E_202D_202E_206B_206B_200E_206E_200C_202A_202C_200F_206B_202E_206B_200F_202A_200F_200D_202C_200D_202D_200D_200E_206F_202C_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder _206A_200D_206A_202D_200E_202C_202C_206C_200C_206C_206F_202B_202D_200C_202B_202A_206D_206D_200C_206A_200B_202D_206E_206C_206B_200C_202E_206B_202C_202B_200E_200E_206E_206A_200B_200C_206F_200E_206E_202C_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _200B_206A_206F_206B_200B_200C_200D_206E_206C_206D_200D_200E_200C_202C_200C_200E_202B_202B_206B_206D_202D_200B_202A_206C_200C_202B_206C_202A_200E_206F_202C_202D_202E_206B_200F_200F_202C_202C_200E_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _200E_202E_206D_202A_206F_200E_206A_200D_206F_206B_200F_202C_206D_206A_206C_202C_206E_206E_202C_206F_200C_202E_206F_200F_202A_202D_206D_202B_200D_202A_202A_202E_206B_202D_200E_206A_202B_200F_206C_206E_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _206F_206A_202A_206A_200C_200F_200F_206E_202E_202A_206A_200C_206D_206B_200B_200B_200E_202B_206D_202A_206C_202D_202B_206B_206D_202D_206A_202A_200D_206F_200B_202E_202D_202B_206E_200B_200F_206A_202D_206B_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static StringBuilder _200D_200D_200F_200C_200D_202C_206F_206F_200C_206F_200E_202A_200F_202C_200F_206D_200D_200F_200E_202C_202D_202B_206E_200F_200B_206D_202A_206C_206A_202B_200B_206B_206C_200B_206E_202B_200E_206B_202C_206C_202E(StringBuilder P_0, object P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _206B_206F_202E_200D_200E_200E_200E_206B_206E_202E_206D_200C_206E_200E_206C_200D_202E_200F_200C_200B_202E_206B_206D_200C_206B_206C_206B_206C_206C_202E_206F_200C_200C_200B_202D_206D_202C_202B_206F_200E_202E(object P_0, object P_1)
|
||||
{
|
||||
return P_0.Equals(P_1);
|
||||
}
|
||||
}
|
||||
|
||||
public sealed record SkipMovement : ReRouteDecision
|
||||
{
|
||||
[CompilerGenerated]
|
||||
protected override Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _206E_206D_202D_206C_202A_206C_202B_200F_202E_200F_206B_206B_206B_202D_200D_200E_206F_200B_206F_206A_206D_206D_206D_206E_206A_206A_206C_200E_206C_206A_206A_202B_202E_206E_206E_200D_200B_206B_206E_202E_202E(typeof(SkipMovement).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _206D_202A_200E_200F_202D_200C_200C_200B_206E_202C_206F_206F_206F_200D_206C_206C_200E_200D_202E_206B_200E_202A_206A_206B_200F_200B_202E_200F_200B_200B_202B_206B_202E_200E_202B_206D_202B_206C_202A_202A_202E();
|
||||
_206F_206C_202E_202E_200E_200C_200B_206F_206E_200E_200D_206C_200D_206E_200F_200E_200C_206A_200D_206D_202D_206D_202D_200D_202E_200D_206E_206D_200E_206D_202B_202A_206E_202D_206A_200E_200D_202D_206C_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>(-187513109));
|
||||
_206F_206C_202E_202E_200E_200C_200B_206F_206E_200E_200D_206C_200D_206E_200F_200E_200C_206A_200D_206D_202D_206D_202D_200D_202E_200D_206E_206D_200E_206D_202B_202A_206E_202D_206A_200E_200D_202D_206C_206D_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)) ? 321527536 : 321527539);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 321527537;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 1:
|
||||
_206C_202D_202A_200B_202D_200B_200D_200E_202B_202E_206E_202B_202B_202B_206C_200D_200B_206A_206A_206A_202E_200B_200C_206F_206B_200C_202B_206D_206E_200C_206F_202B_206A_200D_206E_202B_202A_202E_202B_206E_202E(stringBuilder, '}');
|
||||
return _206D_200B_206A_202A_206E_202B_206E_206C_206E_206C_206B_206B_200F_206A_202B_200D_200F_206C_202E_200D_200F_206A_200F_206C_202A_200F_200E_202E_200E_202D_202A_202A_206B_206E_202C_202A_200B_202B_206A_202D_202E((object)stringBuilder);
|
||||
case 2:
|
||||
_206C_202D_202A_200B_202D_200B_200D_200E_202B_202E_206E_202B_202B_202B_206C_200D_200B_206A_206A_206A_202E_200B_200C_206F_206B_200C_202B_206D_206E_200C_206F_202B_206A_200D_206E_202B_202A_202E_202B_206E_202E(stringBuilder, ' ');
|
||||
num = 321527536;
|
||||
break;
|
||||
case 0:
|
||||
num = 321527539;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(SkipMovement? other)
|
||||
{
|
||||
int num = (((object)this == other) ? (-1667378002) : (-1667378003));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1667378001;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 1:
|
||||
return true;
|
||||
case 2:
|
||||
return base.Equals(other);
|
||||
case 0:
|
||||
goto IL_004c;
|
||||
}
|
||||
continue;
|
||||
IL_004c:
|
||||
num = -1667378003;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<SkipMovement>.Equals(SkipMovement? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _206E_206D_202D_206C_202A_206C_202B_200F_202E_200F_206B_206B_206B_202D_200D_200E_206F_200B_206F_206A_206D_206D_206D_206E_206A_206A_206C_200E_206C_206A_206A_202B_202E_206E_206E_200D_200B_206B_206E_202E_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder _206D_202A_200E_200F_202D_200C_200C_200B_206E_202C_206F_206F_206F_200D_206C_206C_200E_200D_202E_206B_200E_202A_206A_206B_200F_200B_202E_200F_200B_200B_202B_206B_202E_200E_202B_206D_202B_206C_202A_202A_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _206F_206C_202E_202E_200E_200C_200B_206F_206E_200E_200D_206C_200D_206E_200F_200E_200C_206A_200D_206D_202D_206D_202D_200D_202E_200D_206E_206D_200E_206D_202B_202A_206E_202D_206A_200E_200D_202D_206C_206D_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _206C_202D_202A_200B_202D_200B_200D_200E_202B_202E_206E_202B_202B_202B_206C_200D_200B_206A_206A_206A_202E_200B_200C_206F_206B_200C_202B_206D_206E_200C_206F_202B_206A_200D_206E_202B_202A_202E_202B_206E_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _206D_200B_206A_202A_206E_202B_206E_206C_206E_206C_206B_206B_200F_206A_202B_200D_200F_206C_202E_200D_200F_206A_200F_206C_202A_200F_200E_202E_200E_202D_202A_202A_206B_206E_202C_202A_200B_202B_206A_202D_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static bool _202B_206B_200F_200B_206E_200D_202C_200C_200C_200B_200D_202B_200B_206A_202D_200D_200E_202A_206D_206A_206C_200E_200F_206A_206D_206D_206E_206E_200E_200C_206E_200B_200D_206C_206D_202B_206E_202B_206B_206A_202E(object P_0, object P_1)
|
||||
{
|
||||
return P_0.Equals(P_1);
|
||||
}
|
||||
}
|
||||
|
||||
public sealed record GiveUp : ReRouteDecision
|
||||
{
|
||||
[CompilerGenerated]
|
||||
protected override Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _202D_200F_206C_200B_200C_206D_200C_200C_206A_206C_202E_206D_202C_206D_202A_206C_202D_206A_206C_200D_200E_206E_200D_206A_200E_206C_206D_202E_202C_200B_202B_206A_202C_206C_200D_206E_202B_206B_206C_202A_202E(typeof(GiveUp).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _200D_200D_202E_200D_200F_202B_206D_206F_206D_200B_206B_202D_202A_206A_202C_206D_200D_200F_202D_206C_200E_206F_202A_206A_200B_206D_200D_200C_200E_200C_202B_206F_202C_202E_206A_206C_200E_206C_202C_202A_202E();
|
||||
_200D_202D_202A_202C_206D_202E_206E_206E_202A_206D_200C_200C_200E_200C_206D_200B_202E_206B_206E_206B_200C_200B_206C_206E_206E_202C_202D_202A_200C_200E_200C_200B_202B_206F_206D_202B_202B_200C_200B_202D_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>(1991461839));
|
||||
_200D_202D_202A_202C_206D_202E_206E_206E_202A_206D_200C_200C_200E_200C_206D_200B_202E_206B_206E_206B_200C_200B_206C_206E_206E_202C_202D_202A_200C_200E_200C_200B_202B_206F_206D_202B_202B_200C_200B_202D_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)) ? (-1750477906) : (-1750477905));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1750477906;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
_200D_202E_206D_202B_202C_200B_206F_206B_200C_202A_202B_200E_200B_200D_200D_200F_202E_206A_200B_206A_202D_200B_206D_200F_206C_202D_202D_202D_206C_200C_206F_206B_200F_200D_206A_206E_200C_206D_200B_200E_202E(stringBuilder, '}');
|
||||
return _200F_202C_206C_202B_200F_206A_202E_206E_206A_202A_200C_202D_202C_206B_200E_202A_202A_206B_206C_206D_200C_200B_202D_202D_206E_200B_206D_200C_206C_206C_206C_206F_200C_202B_206E_206A_206E_206E_206E_202B_202E((object)stringBuilder);
|
||||
case 1:
|
||||
_200D_202E_206D_202B_202C_200B_206F_206B_200C_202A_202B_200E_200B_200D_200D_200F_202E_206A_200B_206A_202D_200B_206D_200F_206C_202D_202D_202D_206C_200C_206F_206B_200F_200D_206A_206E_200C_206D_200B_200E_202E(stringBuilder, ' ');
|
||||
num = -1750477906;
|
||||
break;
|
||||
case 2:
|
||||
num = -1750477905;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(GiveUp? other)
|
||||
{
|
||||
int num = (((object)this == other) ? 639070582 : 639070581);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 639070583;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
goto IL_0044;
|
||||
case 2:
|
||||
return base.Equals(other);
|
||||
case 1:
|
||||
return true;
|
||||
}
|
||||
continue;
|
||||
IL_0044:
|
||||
num = 639070581;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<GiveUp>.Equals(GiveUp? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _202D_200F_206C_200B_200C_206D_200C_200C_206A_206C_202E_206D_202C_206D_202A_206C_202D_206A_206C_200D_200E_206E_200D_206A_200E_206C_206D_202E_202C_200B_202B_206A_202C_206C_200D_206E_202B_206B_206C_202A_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder _200D_200D_202E_200D_200F_202B_206D_206F_206D_200B_206B_202D_202A_206A_202C_206D_200D_200F_202D_206C_200E_206F_202A_206A_200B_206D_200D_200C_200E_200C_202B_206F_202C_202E_206A_206C_200E_206C_202C_202A_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _200D_202D_202A_202C_206D_202E_206E_206E_202A_206D_200C_200C_200E_200C_206D_200B_202E_206B_206E_206B_200C_200B_206C_206E_206E_202C_202D_202A_200C_200E_200C_200B_202B_206F_206D_202B_202B_200C_200B_202D_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _200D_202E_206D_202B_202C_200B_206F_206B_200C_202A_202B_200E_200B_200D_200D_200F_202E_206A_200B_206A_202D_200B_206D_200F_206C_202D_202D_202D_206C_200C_206F_206B_200F_200D_206A_206E_200C_206D_200B_200E_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _200F_202C_206C_202B_200F_206A_202E_206E_206A_202A_200C_202D_202C_206B_200E_202A_202A_206B_206C_206D_200C_200B_202D_202D_206E_200B_206D_200C_206C_206C_206C_206F_200C_202B_206E_206A_206E_206E_206E_202B_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static bool _202C_206A_206B_200D_202E_206D_202A_200C_206E_206A_206A_202D_206B_200E_202E_206B_200F_200C_202A_206A_200D_206C_200D_206C_206F_202C_202B_206D_206C_200C_202D_202E_200C_202C_206A_200D_200F_202B_202E_202D_202E(object P_0, object P_1)
|
||||
{
|
||||
return P_0.Equals(P_1);
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
protected virtual Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _202E_206B_206C_202D_206F_200C_202B_206F_200B_202A_202B_206C_202C_202A_200F_200D_200F_206E_206A_206D_206F_200B_206D_200D_202B_206B_206D_206F_200E_206E_200D_206A_206B_202D_206D_206E_206E_200D_200E_202E_202E(typeof(ReRouteDecision).TypeHandle);
|
||||
}
|
||||
}
|
||||
public sealed record GiveUp : ReRouteDecision;
|
||||
|
||||
private ReRouteDecision()
|
||||
{
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _206E_206A_206F_200B_202A_200E_206E_200E_200C_202A_206F_202C_206C_206F_206E_206F_206C_206D_202D_202C_206A_202E_206A_200C_202C_200D_200B_206B_200F_200B_206F_202E_202D_200C_200E_200B_202B_202A_200C_200D_202E();
|
||||
_206A_206E_202D_200D_202B_206E_202A_200C_206D_200B_200F_200E_206A_206A_202B_206E_206C_200D_206C_206C_200D_200E_200C_200B_206D_206D_200C_206C_202D_206A_200E_206F_200F_200C_200B_202A_200C_200B_200B_202D_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>(-1884726920));
|
||||
_206A_206E_202D_200D_202B_206E_202A_200C_206D_200B_200F_200E_206A_206A_202B_206E_206C_200D_206C_206C_200D_200E_200C_200B_206D_206D_200C_206C_202D_206A_200E_206F_200F_200C_200B_202A_200C_200B_200B_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)) ? 1070703260 : 1070703263);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1070703262;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
_206C_202E_202A_206A_206A_202E_200B_200F_202A_200F_202A_200E_206E_202E_202A_200E_200C_206F_206D_202A_200F_206C_200B_206D_202E_206E_206C_206A_206D_206D_206A_206E_202C_206C_206B_200B_206B_200C_200B_202E_202E(stringBuilder, '}');
|
||||
return _200B_206A_200E_202D_206A_202B_200D_202E_200B_200C_202B_200F_206E_200B_200E_200B_202E_202D_200F_206A_206D_200C_202C_206B_206B_202A_202E_200C_206D_206E_200E_200F_200B_200F_200D_206E_202B_200F_202A_202E((object)stringBuilder);
|
||||
case 1:
|
||||
_206C_202E_202A_206A_206A_202E_200B_200F_202A_200F_202A_200E_206E_202E_202A_200E_200C_206F_206D_202A_200F_206C_200B_206D_202E_206E_206C_206A_206D_206D_206A_206E_202C_206C_206B_200B_206B_200C_200B_202E_202E(stringBuilder, ' ');
|
||||
num = 1070703260;
|
||||
break;
|
||||
case 0:
|
||||
num = 1070703263;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public virtual bool Equals(ReRouteDecision? other)
|
||||
{
|
||||
int num = (((object)this == other) ? (-390682939) : (-390682942));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -390682938;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
num = -390682942;
|
||||
break;
|
||||
case 1:
|
||||
return _206C_206C_200B_200B_200B_206C_200C_200E_206B_202D_200D_200F_202E_202E_202C_206B_202C_200C_200E_202E_206C_200F_206B_206F_202B_206D_202E_200E_202B_202B_200E_202E_206A_200E_200B_206F_200D_206A_206A_202E(EqualityContract, other.EqualityContract);
|
||||
case 4:
|
||||
num = (((object)other == null) ? (-390682940) : (-390682937));
|
||||
break;
|
||||
case 2:
|
||||
return false;
|
||||
case 3:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<ReRouteDecision>.Equals(ReRouteDecision? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _202E_206B_206C_202D_206F_200C_202B_206F_200B_202A_202B_206C_202C_202A_200F_200D_200F_206E_206A_206D_206F_200B_206D_200D_202B_206B_206D_206F_200E_206E_200D_206A_206B_202D_206D_206E_206E_200D_200E_202E_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder _206E_206A_206F_200B_202A_200E_206E_200E_200C_202A_206F_202C_206C_206F_206E_206F_206C_206D_202D_202C_206A_202E_206A_200C_202C_200D_200B_206B_200F_200B_206F_202E_202D_200C_200E_200B_202B_202A_200C_200D_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _206A_206E_202D_200D_202B_206E_202A_200C_206D_200B_200F_200E_206A_206A_202B_206E_206C_200D_206C_206C_200D_200E_200C_200B_206D_206D_200C_206C_202D_206A_200E_206F_200F_200C_200B_202A_200C_200B_200B_202D_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _206C_202E_202A_206A_206A_202E_200B_200F_202A_200F_202A_200E_206E_202E_202A_200E_200C_206F_206D_202A_200F_206C_200B_206D_202E_206E_206C_206A_206D_206D_206A_206E_202C_206C_206B_200B_206B_200C_200B_202E_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _200B_206A_200E_202D_206A_202B_200D_202E_200B_200C_202B_200F_206E_200B_200E_200B_202E_202D_200F_206A_206D_200C_202C_206B_206B_202A_202E_200C_206D_206E_200E_200F_200B_200F_200D_206E_202B_200F_202A_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static bool _206C_206C_200B_200B_200B_206C_200C_200E_206B_202D_200D_200F_202E_202E_202C_206B_202C_200C_200E_202E_206C_200F_206B_206F_202B_206D_202E_200E_202B_202B_200E_202E_206A_200E_200B_206F_200D_206A_206A_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace SmartNav;
|
||||
|
|
@ -20,49 +19,19 @@ public sealed class ReRoutePolicy(NavRouter navRouter, PlayerNavStateBuilder pla
|
|||
|
||||
private const int MaxReRoutes = 3;
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public void SetDestination(uint territoryId, Vector3 position)
|
||||
{
|
||||
int num = ((!_hasDestination) ? 887432114 : 887432119);
|
||||
while (true)
|
||||
bool num = _hasDestination && _destinationTerritoryId == territoryId && Vector3.DistanceSquared(_destinationPosition, position) < 1f;
|
||||
_destinationTerritoryId = territoryId;
|
||||
_destinationPosition = position;
|
||||
_hasDestination = true;
|
||||
_reRouteCount = 0;
|
||||
_penalizedTargets.Clear();
|
||||
if (!num)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 887432118;
|
||||
int num4 = num2;
|
||||
int num5;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num5 = ((Vector3.DistanceSquared(_destinationPosition, position) < 1f) ? 1 : 0);
|
||||
goto IL_00d1;
|
||||
case 2:
|
||||
_202D_206B_200F_202E_206E_206B_202D_202D_206F_200B_206B_206F_200E_206E_200B_202E_206B_200F_202A_206F_206B_202A_202C_202D_206A_206B_200C_202B_206B_200D_206D_200E_206E_202A_202D_206C_202D_200B_202D_200C_202E((ILogger)logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(1448570799), new object[2] { territoryId, position });
|
||||
return;
|
||||
case 5:
|
||||
num = 887432119;
|
||||
break;
|
||||
case 1:
|
||||
num = ((_destinationTerritoryId != territoryId) ? 887432114 : 887432118);
|
||||
break;
|
||||
case 4:
|
||||
num5 = 0;
|
||||
goto IL_00d1;
|
||||
case 3:
|
||||
{
|
||||
warpFailureTracker.Reset();
|
||||
num = 887432116;
|
||||
break;
|
||||
}
|
||||
IL_00d1:
|
||||
_destinationTerritoryId = territoryId;
|
||||
_destinationPosition = position;
|
||||
_hasDestination = true;
|
||||
_reRouteCount = 0;
|
||||
_penalizedTargets.Clear();
|
||||
num = ((num5 != 0) ? 887432116 : 887432117);
|
||||
break;
|
||||
}
|
||||
warpFailureTracker.Reset();
|
||||
}
|
||||
logger.LogDebug("Re-route destination set: territory {Territory}, position {Position}", territoryId, position);
|
||||
}
|
||||
|
||||
public void ClearDestination()
|
||||
|
|
@ -73,116 +42,46 @@ public sealed class ReRoutePolicy(NavRouter navRouter, PlayerNavStateBuilder pla
|
|||
warpFailureTracker.Reset();
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public ReRouteDecision HandleMovementFailure(string? failedTargetNodeId, string? failedApproachNodeId, bool hasPreservedTasks)
|
||||
{
|
||||
int num = ((failedTargetNodeId == null) ? 1235919696 : 1235919704);
|
||||
RouteResult routeResult = default(RouteResult);
|
||||
PlayerNavState playerNavState = default(PlayerNavState);
|
||||
while (true)
|
||||
if (failedTargetNodeId != null)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1235919696;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
_penalizedTargets.Add(failedTargetNodeId);
|
||||
if (failedTargetNodeId.StartsWith("pos:", StringComparison.Ordinal) && failedApproachNodeId != null)
|
||||
{
|
||||
case 1:
|
||||
routeResult = navRouter.FindRoute(playerNavState, _destinationTerritoryId, _destinationPosition, _penalizedTargets);
|
||||
num = ((routeResult.Segments.Count != 0) ? 1235919700 : 1235919698);
|
||||
break;
|
||||
case 4:
|
||||
{
|
||||
int reRouteCount2 = _reRouteCount;
|
||||
num3 = 1;
|
||||
num4 = reRouteCount2;
|
||||
int num8 = num4 ^ num3;
|
||||
int num9 = num4 & num3;
|
||||
_reRouteCount = num8 + (num9 + num9);
|
||||
_200D_202E_200C_202A_206E_206D_206B_200F_202B_202B_200E_202E_202A_206E_202D_202A_200F_206D_206E_206E_200E_202C_200C_206A_200C_200E_206E_202A_206C_200C_206F_206D_202B_206B_206C_202C_200D_206F_202D_202E_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>(-2130024542), new object[4]
|
||||
{
|
||||
_reRouteCount,
|
||||
3,
|
||||
routeResult.Segments.Count,
|
||||
routeResult.TotalTimeCost
|
||||
});
|
||||
return new ReRouteDecision.Replan(instructionBuilder.Build(routeResult, _destinationTerritoryId));
|
||||
}
|
||||
case 10:
|
||||
num = ((_reRouteCount < 3) ? 1235919702 : 1235919709);
|
||||
break;
|
||||
case 3:
|
||||
_200D_202A_206C_202A_202E_200E_202A_202B_202D_200D_202D_206F_206D_200F_206F_200B_200F_200D_206D_202D_206E_206E_200C_206C_200F_206A_206A_200D_202D_200B_206D_200E_206E_202D_200B_206A_206E_200B_202A_202C_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>(-1773659142), Array.Empty<object>());
|
||||
return new ReRouteDecision.GiveUp();
|
||||
case 12:
|
||||
{
|
||||
bool num7 = playerNavState.CurrentTerritoryId != _destinationTerritoryId;
|
||||
num3 = (hasPreservedTasks ? 1 : 0);
|
||||
num4 = (num7 ? 1 : 0);
|
||||
num = (((num4 | num3) - (num4 ^ num3) == 0) ? 1235919697 : 1235919710);
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
num = 1235919704;
|
||||
break;
|
||||
case 2:
|
||||
_200D_202A_206C_202A_202E_200E_202A_202B_202D_200D_202D_206F_206D_200F_206F_200B_200F_200D_206D_202D_206E_206E_200C_206C_200F_206A_206A_200D_202D_200B_206D_200E_206E_202D_200B_206A_206E_200B_202A_202C_202E((ILogger)logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(399693509), new object[1] { _destinationTerritoryId });
|
||||
return new ReRouteDecision.GiveUp();
|
||||
case 13:
|
||||
_200D_202A_206C_202A_202E_200E_202A_202B_202D_200D_202D_206F_206D_200F_206F_200B_200F_200D_206D_202D_206E_206E_200C_206C_200F_206A_206A_200D_202D_200B_206D_200E_206E_202D_200B_206A_206E_200B_202A_202C_202E((ILogger)logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-1940106289), new object[2] { _reRouteCount, 3 });
|
||||
return new ReRouteDecision.GiveUp();
|
||||
case 8:
|
||||
_penalizedTargets.Add(failedTargetNodeId);
|
||||
num = ((!_200D_202D_200B_206B_206D_202C_206C_206C_206F_206E_200E_200D_202A_202B_202D_200F_200F_200F_206E_206E_200F_200B_202A_200B_206C_206B_206A_200F_200C_206C_200E_206A_202D_200E_206E_206A_202B_202A_202E_206D_202E(failedTargetNodeId, 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>(-1541648262), StringComparison.Ordinal)) ? 1235919696 : 1235919705);
|
||||
break;
|
||||
case 11:
|
||||
_200D_202A_206C_202A_202E_200E_202A_202B_202D_200D_202D_206F_206D_200F_206F_200B_200F_200D_206D_202D_206E_206E_200C_206C_200F_206A_206A_200D_202D_200B_206D_200E_206E_202D_200B_206A_206E_200B_202A_202C_202E((ILogger)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>(466466716), Array.Empty<object>());
|
||||
return new ReRouteDecision.GiveUp();
|
||||
case 6:
|
||||
playerNavState = playerNavStateBuilder.Build();
|
||||
num = ((playerNavState != null) ? 1235919708 : 1235919699);
|
||||
break;
|
||||
case 0:
|
||||
num = (_hasDestination ? 1235919706 : 1235919707);
|
||||
break;
|
||||
case 5:
|
||||
_penalizedTargets.Add(failedApproachNodeId);
|
||||
num = 1235919696;
|
||||
break;
|
||||
case 14:
|
||||
{
|
||||
int reRouteCount = _reRouteCount;
|
||||
num3 = 1;
|
||||
num4 = reRouteCount;
|
||||
_reRouteCount = (num4 | num3) + (num4 & num3);
|
||||
_200D_202E_200C_202A_206E_206D_206B_200F_202B_202B_200E_202E_202A_206E_202D_202A_200F_206D_206E_206E_200E_202C_200C_206A_200C_200E_206E_202A_206C_200C_206F_206D_202B_206B_206C_202C_200D_206F_202D_202E_202E((ILogger)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>(303219870), new object[3] { _reRouteCount, playerNavState.CurrentTerritoryId, _destinationTerritoryId });
|
||||
return new ReRouteDecision.SkipMovement();
|
||||
}
|
||||
case 9:
|
||||
num = ((failedApproachNodeId == null) ? 1235919696 : 1235919701);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void _202D_206B_200F_202E_206E_206B_202D_202D_206F_200B_206B_206F_200E_206E_200B_202E_206B_200F_202A_206F_206B_202A_202C_202D_206A_206B_200C_202B_206B_200D_206D_200E_206E_202A_202D_206C_202D_200B_202D_200C_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
|
||||
static bool _200D_202D_200B_206B_206D_202C_206C_206C_206F_206E_200E_200D_202A_202B_202D_200F_200F_200F_206E_206E_200F_200B_202A_200B_206C_206B_206A_200F_200C_206C_200E_206A_202D_200E_206E_206A_202B_202A_202E_206D_202E(string P_0, string P_1, StringComparison P_2)
|
||||
{
|
||||
return P_0.StartsWith(P_1, P_2);
|
||||
}
|
||||
|
||||
static void _200D_202A_206C_202A_202E_200E_202A_202B_202D_200D_202D_206F_206D_200F_206F_200B_200F_200D_206D_202D_206E_206E_200C_206C_200F_206A_206A_200D_202D_200B_206D_200E_206E_202D_200B_206A_206E_200B_202A_202C_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogWarning(P_1, P_2);
|
||||
}
|
||||
|
||||
static void _200D_202E_200C_202A_206E_206D_206B_200F_202B_202B_200E_202E_202A_206E_202D_202A_200F_206D_206E_206E_200E_202C_200C_206A_200C_200E_206E_202A_206C_200C_206F_206D_202B_206B_206C_202C_200D_206F_202D_202E_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogInformation(P_1, P_2);
|
||||
if (!_hasDestination)
|
||||
{
|
||||
logger.LogWarning("No destination registered, cannot re-route");
|
||||
return new ReRouteDecision.GiveUp();
|
||||
}
|
||||
if (_reRouteCount >= 3)
|
||||
{
|
||||
logger.LogWarning("Re-route limit reached ({Count}/{Max}), giving up", _reRouteCount, 3);
|
||||
return new ReRouteDecision.GiveUp();
|
||||
}
|
||||
PlayerNavState playerNavState = playerNavStateBuilder.Build();
|
||||
if (playerNavState == null)
|
||||
{
|
||||
logger.LogWarning("Cannot build PlayerNavState for re-routing");
|
||||
return new ReRouteDecision.GiveUp();
|
||||
}
|
||||
if (playerNavState.CurrentTerritoryId != _destinationTerritoryId && hasPreservedTasks)
|
||||
{
|
||||
_reRouteCount++;
|
||||
logger.LogInformation("Re-route #{Count}: still in wrong territory ({Current} vs destination {Destination}), skipping movement with preserved tasks", _reRouteCount, playerNavState.CurrentTerritoryId, _destinationTerritoryId);
|
||||
return new ReRouteDecision.SkipMovement();
|
||||
}
|
||||
RouteResult routeResult = navRouter.FindRoute(playerNavState, _destinationTerritoryId, _destinationPosition, _penalizedTargets);
|
||||
if (routeResult.Segments.Count == 0)
|
||||
{
|
||||
logger.LogWarning("No route found during re-routing to territory {Territory}", _destinationTerritoryId);
|
||||
return new ReRouteDecision.GiveUp();
|
||||
}
|
||||
_reRouteCount++;
|
||||
logger.LogInformation("Re-routed successfully ({Count}/{Max}): {SegmentCount} segments, {Time:F1}s estimated", _reRouteCount, 3, routeResult.Segments.Count, routeResult.TotalTimeCost);
|
||||
return new ReRouteDecision.Replan(instructionBuilder.Build(routeResult, _destinationTerritoryId));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SmartNav.Data;
|
||||
using SmartNav.Graph;
|
||||
|
|
@ -16,497 +14,151 @@ public sealed class RouteInstructionBuilder(AetheryteData aetheryteData, ITerrit
|
|||
public IReadOnlyList<NavInstruction> Build(RouteResult route, uint destinationTerritory, bool disableNavmesh = false)
|
||||
{
|
||||
List<NavInstruction> list = new List<NavInstruction>();
|
||||
int num = 0;
|
||||
int num2 = -1441158643;
|
||||
RouteSegment routeSegment = default(RouteSegment);
|
||||
while (true)
|
||||
for (int i = 0; i < route.Segments.Count; i++)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -1441158642;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
RouteSegment routeSegment = route.Segments[i];
|
||||
if (routeSegment.EdgeType != NavEdgeType.WithinZone || i + 1 >= route.Segments.Count || route.Segments[i + 1].EdgeType != NavEdgeType.ZoneBoundary)
|
||||
{
|
||||
case 4:
|
||||
{
|
||||
int num10 = num;
|
||||
num4 = 1;
|
||||
num5 = num10;
|
||||
num = (num5 | num4) + (num5 & num4);
|
||||
num2 = -1441158643;
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
{
|
||||
RouteSegment seg = routeSegment;
|
||||
object previous;
|
||||
if (num <= 0)
|
||||
{
|
||||
previous = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
IReadOnlyList<RouteSegment> segments = route.Segments;
|
||||
int num9 = num;
|
||||
num4 = 1;
|
||||
num5 = num9;
|
||||
previous = segments[~(~num5 + num4)];
|
||||
}
|
||||
BuildSegment(list, seg, (RouteSegment?)previous, num, route.Segments.Count, destinationTerritory, disableNavmesh);
|
||||
num2 = -1441158646;
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
IReadOnlyList<RouteSegment> segments2 = route.Segments;
|
||||
int num11 = num;
|
||||
num4 = 1;
|
||||
num5 = num11;
|
||||
num2 = ((segments2[(num5 | num4) + (num5 & num4)].EdgeType == NavEdgeType.ZoneBoundary) ? (-1441158646) : (-1441158648));
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
int num8 = num;
|
||||
num4 = 1;
|
||||
num5 = num8;
|
||||
num2 = (((num5 | num4) + (num5 & num4) >= route.Segments.Count) ? (-1441158648) : (-1441158645));
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
return list;
|
||||
case 7:
|
||||
num2 = -1441158643;
|
||||
break;
|
||||
case 2:
|
||||
routeSegment = route.Segments[num];
|
||||
num2 = ((routeSegment.EdgeType != NavEdgeType.WithinZone) ? (-1441158648) : (-1441158641));
|
||||
break;
|
||||
case 3:
|
||||
num2 = ((num < route.Segments.Count) ? (-1441158644) : (-1441158642));
|
||||
break;
|
||||
BuildSegment(list, routeSegment, (i > 0) ? route.Segments[i - 1] : null, i, route.Segments.Count, destinationTerritory, disableNavmesh);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
private static bool TryComputeApproach(TriggerBox trigger, Vector3 walkTo, Vector3? origin, out Vector3 approach)
|
||||
{
|
||||
approach = default(Vector3);
|
||||
int num = (origin.HasValue ? 1645228260 : 1645228262);
|
||||
bool flag = default(bool);
|
||||
Matrix4x4 matrix = default(Matrix4x4);
|
||||
Vector3 vector2 = default(Vector3);
|
||||
float num7 = default(float);
|
||||
while (true)
|
||||
if (!origin.HasValue)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1645228263;
|
||||
int num4 = num2;
|
||||
float num8;
|
||||
Vector3 normal;
|
||||
float num5;
|
||||
float num6;
|
||||
Vector3 vector;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 3:
|
||||
flag = _202D_200F_202D_206F_206E_200B_202A_206C_206B_202B_200F_200C_206F_206E_200D_202E_206B_202B_200C_206F_200B_202D_202D_206C_202A_206C_200C_206B_202B_200C_206C_206A_202C_202B_202B_200C_206C_200E_202B_206E_202E(trigger).X <= _202D_200F_202D_206F_206E_200B_202A_206C_206B_202B_200F_200C_206F_206E_200D_202E_206B_202B_200C_206F_200B_202D_202D_206C_202A_206C_200C_206B_202B_200C_206C_206A_202C_202B_202B_200C_206C_200E_202B_206E_202E(trigger).Z;
|
||||
num = (flag ? 1645228259 : 1645228257);
|
||||
break;
|
||||
case 4:
|
||||
num8 = _202D_200F_202D_206F_206E_200B_202A_206C_206B_202B_200F_200C_206F_206E_200D_202E_206B_202B_200C_206F_200B_202D_202D_206C_202A_206C_200C_206B_202B_200C_206C_206A_202C_202B_202B_200C_206C_200E_202B_206E_202E(trigger).X;
|
||||
goto IL_00c4;
|
||||
case 6:
|
||||
num8 = _202D_200F_202D_206F_206E_200B_202A_206C_206B_202B_200F_200C_206F_206E_200D_202E_206B_202B_200C_206F_200B_202D_202D_206C_202A_206C_200C_206B_202B_200C_206C_206A_202C_202B_202B_200C_206C_200E_202B_206E_202E(trigger).Z;
|
||||
goto IL_00c4;
|
||||
case 2:
|
||||
matrix = Matrix4x4.CreateFromYawPitchRoll(_206D_202C_200C_202D_206B_200C_200B_206C_202C_202C_202B_206C_202B_200C_202D_206A_202B_202C_202D_200C_206E_202A_206D_206E_200B_206C_206F_200C_206D_200C_202D_206C_200D_206A_206D_206E_202C_206E_206D_202E(trigger).Y, _206D_202C_200C_202D_206B_200C_200B_206C_202C_202C_202B_206C_202B_200C_202D_206A_202B_202C_202D_200C_206E_202A_206D_206E_200B_206C_206F_200C_206D_200C_202D_206C_200D_206A_206D_206E_202C_206E_206D_202E(trigger).X, _206D_202C_200C_202D_206B_200C_200B_206C_202C_202C_202B_206C_202B_200C_202D_206A_202B_202C_202D_200C_206E_202A_206D_206E_200B_206C_206F_200C_206D_200C_202D_206C_200D_206A_206D_206E_202C_206E_206D_202E(trigger).Z);
|
||||
num = (flag ? 1645228258 : 1645228263);
|
||||
break;
|
||||
case 12:
|
||||
vector2 = Vector3.Normalize(vector2);
|
||||
num = ((Vector3.Dot(origin.Value - _202E_202E_200B_202A_206D_200C_202C_206F_202E_202D_200B_202A_206C_202D_206C_200F_202A_206D_202C_202D_206E_206C_200D_202B_206E_202E_202D_200C_206F_200F_202D_200B_200C_200D_202B_206E_200E_202B_206B_206F_202E(trigger), vector2) >= 0f) ? 1645228270 : 1645228271);
|
||||
break;
|
||||
case 11:
|
||||
return false;
|
||||
case 7:
|
||||
num = 1645228262;
|
||||
break;
|
||||
case 0:
|
||||
normal = Vector3.UnitZ;
|
||||
goto IL_021a;
|
||||
case 8:
|
||||
num5 = -1f;
|
||||
goto IL_01cf;
|
||||
case 9:
|
||||
num5 = 1f;
|
||||
goto IL_01cf;
|
||||
case 10:
|
||||
return false;
|
||||
case 5:
|
||||
normal = Vector3.UnitX;
|
||||
goto IL_021a;
|
||||
case 1:
|
||||
{
|
||||
return false;
|
||||
}
|
||||
IL_01cf:
|
||||
num6 = num5;
|
||||
vector = _202E_202E_200B_202A_206D_200C_202C_206F_202E_202D_200B_202A_206C_202D_206C_200F_202A_206D_202C_202D_206E_206C_200D_202B_206E_202E_202D_200C_206F_200F_202D_200B_200C_200D_202B_206E_200E_202B_206B_206F_202E(trigger) + vector2 * num6 * (num7 + 5f);
|
||||
approach = new Vector3(vector.X, walkTo.Y, vector.Z);
|
||||
return true;
|
||||
IL_021a:
|
||||
vector2 = Vector3.TransformNormal(normal, matrix);
|
||||
vector2.Y = 0f;
|
||||
num = ((!(vector2.LengthSquared() < 0.01f)) ? 1645228267 : 1645228268);
|
||||
break;
|
||||
IL_00c4:
|
||||
num7 = num8;
|
||||
num = ((!(_202D_200F_202D_206F_206E_200B_202A_206C_206B_202B_200F_200C_206F_206E_200D_202E_206B_202B_200C_206F_200B_202D_202D_206C_202A_206C_200C_206B_202B_200C_206C_206A_202C_202B_202B_200C_206C_200E_202B_206E_202E(trigger).Y < num7)) ? 1645228261 : 1645228269);
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
bool flag = trigger.HalfExtents.X <= trigger.HalfExtents.Z;
|
||||
float num = (flag ? trigger.HalfExtents.X : trigger.HalfExtents.Z);
|
||||
if (trigger.HalfExtents.Y < num)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
Matrix4x4 matrix = Matrix4x4.CreateFromYawPitchRoll(trigger.RotationRadians.Y, trigger.RotationRadians.X, trigger.RotationRadians.Z);
|
||||
Vector3 value = Vector3.TransformNormal(flag ? Vector3.UnitX : Vector3.UnitZ, matrix);
|
||||
value.Y = 0f;
|
||||
if (value.LengthSquared() < 0.01f)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
value = Vector3.Normalize(value);
|
||||
float num2 = ((Vector3.Dot(origin.Value - trigger.Translation, value) >= 0f) ? 1f : (-1f));
|
||||
Vector3 vector = trigger.Translation + value * num2 * (num + 5f);
|
||||
approach = new Vector3(vector.X, walkTo.Y, vector.Z);
|
||||
return true;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private void BuildSegment(List<NavInstruction> instructions, RouteSegment seg, RouteSegment? previous, int index, int segmentCount, uint destinationTerritory, bool disableNavmesh)
|
||||
{
|
||||
uint territoryId4;
|
||||
switch (seg.EdgeType)
|
||||
{
|
||||
case NavEdgeType.TicketTeleport:
|
||||
goto IL_01d4;
|
||||
case NavEdgeType.WithinZone:
|
||||
goto IL_027e;
|
||||
case NavEdgeType.Warp:
|
||||
goto IL_044c;
|
||||
case NavEdgeType.ChocoboTaxi:
|
||||
goto IL_06b0;
|
||||
case NavEdgeType.Teleport:
|
||||
case NavEdgeType.Return:
|
||||
goto IL_078c;
|
||||
case NavEdgeType.ZoneBoundary:
|
||||
goto IL_07b7;
|
||||
case NavEdgeType.SubRegionTransport:
|
||||
goto IL_08c6;
|
||||
case NavEdgeType.AethernetHop:
|
||||
goto IL_0afd;
|
||||
}
|
||||
int num = 807288899;
|
||||
goto IL_003d;
|
||||
IL_044c:
|
||||
uint territoryId = seg.From.TerritoryId;
|
||||
uint territoryId2 = seg.To.TerritoryId;
|
||||
_206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_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>(699118114), new object[2]
|
||||
{
|
||||
territoryInfo.GetNameAndId(territoryId),
|
||||
territoryInfo.GetNameAndId(territoryId2)
|
||||
});
|
||||
NavNode.WarpNode warpNode = seg.From as NavNode.WarpNode;
|
||||
num = (((object)warpNode == null) ? 807288921 : 807288909);
|
||||
goto IL_003d;
|
||||
IL_003d:
|
||||
uint territoryId6 = default(uint);
|
||||
ushort value = default(ushort);
|
||||
uint territoryId5 = default(uint);
|
||||
Vector3 approach = default(Vector3);
|
||||
uint? num8 = default(uint?);
|
||||
uint territoryId4 = default(uint);
|
||||
bool flag = default(bool);
|
||||
NavNode.WarpNode warpNode2 = default(NavNode.WarpNode);
|
||||
NavNode.TicketNode ticketNode = default(NavNode.TicketNode);
|
||||
uint territoryId3 = default(uint);
|
||||
NavNode.SubRegionConnectorNode subRegionConnectorNode = default(NavNode.SubRegionConnectorNode);
|
||||
TriggerBox trigger = default(TriggerBox);
|
||||
NavNode.ZoneBoundaryNode zoneBoundaryNode = default(NavNode.ZoneBoundaryNode);
|
||||
int num3;
|
||||
int num4;
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
num3 = 807288896;
|
||||
num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
int num9;
|
||||
int num7;
|
||||
ushort expectedTerritory;
|
||||
switch (num5 - (num6 + num6))
|
||||
if (seg.TeleportTarget.HasValue)
|
||||
{
|
||||
case 25:
|
||||
_200E_200E_200B_206E_206C_200C_200B_200E_206E_206D_200D_200D_200C_206F_202B_202C_206A_206A_202E_206F_202B_200D_200F_206B_200D_200D_206B_206B_202E_206F_202E_206A_200F_202B_202E_200F_206B_206E_202B_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>(-1406522576), new object[2]
|
||||
{
|
||||
territoryInfo.GetNameAndId(territoryId),
|
||||
territoryInfo.GetNameAndId(territoryId2)
|
||||
});
|
||||
return;
|
||||
case 15:
|
||||
_200E_200E_200B_206E_206C_200C_200B_200E_206E_206D_200D_200D_200C_206F_202B_202C_206A_206A_202E_206F_202B_200D_200F_206B_200D_200D_206B_206B_202E_206F_202E_206A_200F_202B_202E_200F_206B_206E_202B_200C_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>(-399339980), Array.Empty<object>());
|
||||
return;
|
||||
case 32:
|
||||
num = 807288899;
|
||||
break;
|
||||
case 30:
|
||||
_206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_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>(-1015089511), new object[2]
|
||||
{
|
||||
seg.AethernetFrom.Value,
|
||||
seg.AethernetTo.Value
|
||||
});
|
||||
ushort value;
|
||||
ushort expectedTerritory = (aetheryteData.TerritoryIds.TryGetValue(seg.TeleportTarget.Value, out value) ? value : ((ushort)seg.To.TerritoryId));
|
||||
logger.LogTrace("SmartNav: Teleport to {Aetheryte}", seg.TeleportTarget.Value);
|
||||
instructions.Add(new NavInstruction.Teleport(seg.TeleportTarget.Value, expectedTerritory));
|
||||
}
|
||||
break;
|
||||
case NavEdgeType.AethernetHop:
|
||||
if (seg.AethernetFrom.HasValue && seg.AethernetTo.HasValue)
|
||||
{
|
||||
logger.LogTrace("SmartNav: Aethernet {From} -> {To}", seg.AethernetFrom.Value, seg.AethernetTo.Value);
|
||||
instructions.Add(new NavInstruction.WaitForNavmesh());
|
||||
instructions.Add(new NavInstruction.AethernetHop(seg.AethernetFrom.Value, seg.AethernetTo.Value));
|
||||
return;
|
||||
case 0:
|
||||
goto end_IL_003d;
|
||||
case 6:
|
||||
goto IL_0200;
|
||||
case 34:
|
||||
num9 = ((seg.To.TerritoryId == destinationTerritory) ? 1 : 0);
|
||||
goto IL_0562;
|
||||
case 16:
|
||||
instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList<uint>(territoryId6), _200D_200B_202E_206A_202B_200E_202E_206D_206E_200C_200E_202B_206B_200F_206A_200D_206E_206D_206D_200D_206B_200C_206A_200D_202C_202C_206B_202D_206A_202B_202B_206A_200C_206A_202B_206B_206E_206B_206F_200F_202E(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>(-2121195380), territoryInfo.GetNameAndId(territoryId6), 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>(-2010692120))));
|
||||
return;
|
||||
case 21:
|
||||
goto IL_027e;
|
||||
case 19:
|
||||
goto IL_02b8;
|
||||
case 20:
|
||||
num7 = value;
|
||||
goto IL_02e1;
|
||||
case 7:
|
||||
goto IL_032e;
|
||||
case 17:
|
||||
{
|
||||
instructions.Add(new NavInstruction.Move((ushort)territoryId5, approach, Fly: true, LandAtTarget: true, 3f, null, null, DisableNavmesh: false, AllowZoneTransition: true, seg.From.Id, null, IsFinal: false));
|
||||
ushort territory2 = (ushort)territoryId5;
|
||||
Vector3 position2 = seg.From.Position;
|
||||
float? stopDistance2 = 0f;
|
||||
num8 = null;
|
||||
instructions.Add(new NavInstruction.Move(territory2, position2, Fly: false, LandAtTarget: false, stopDistance2, num8, null, DisableNavmesh: false, AllowZoneTransition: true, seg.From.Id, null, IsFinal: false));
|
||||
num = 807288912;
|
||||
break;
|
||||
}
|
||||
case 31:
|
||||
return;
|
||||
case 2:
|
||||
break;
|
||||
case NavEdgeType.WithinZone:
|
||||
{
|
||||
uint territoryId = seg.From.TerritoryId;
|
||||
bool flag = index == segmentCount - 1 && seg.To.TerritoryId == destinationTerritory;
|
||||
logger.LogTrace("SmartNav: Move within {Territory}{Final}", territoryInfo.GetNameAndId(territoryId), flag ? " (final)" : "");
|
||||
instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList<uint>(territoryId), "Wait(territory: " + territoryInfo.GetNameAndId(territoryId) + ")"));
|
||||
if (!disableNavmesh)
|
||||
{
|
||||
ushort territory = (ushort)territoryId5;
|
||||
Vector3 position = seg.From.Position;
|
||||
bool fly = seg.Fly;
|
||||
bool fly2 = seg.Fly;
|
||||
float? stopDistance = 0f;
|
||||
num8 = null;
|
||||
instructions.Add(new NavInstruction.Move(territory, position, fly, fly2, stopDistance, num8, null, DisableNavmesh: false, AllowZoneTransition: true, seg.From.Id, null, IsFinal: false));
|
||||
num = 807288912;
|
||||
break;
|
||||
}
|
||||
case 12:
|
||||
goto IL_044c;
|
||||
case 24:
|
||||
{
|
||||
uint valueOrDefault = num8.GetValueOrDefault();
|
||||
instructions.Add(new NavInstruction.InteractWarp(valueOrDefault, warpNode.WarpRowId, (ushort)territoryId, (ushort)territoryId2));
|
||||
return;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
uint? dataId = num8;
|
||||
instructions.Add(new NavInstruction.Move((ushort)territoryId4, seg.To.Position, seg.Fly, seg.Fly, flag ? ((float?)null) : new float?(3f), dataId, null, DisableNavmesh: false, AllowZoneTransition: false, seg.To.Id, seg.From.Id, flag));
|
||||
return;
|
||||
}
|
||||
case 5:
|
||||
num9 = 0;
|
||||
goto IL_0562;
|
||||
case 37:
|
||||
goto IL_0609;
|
||||
case 28:
|
||||
instructions.Add(new NavInstruction.WaitForNavmesh());
|
||||
num = 807288933;
|
||||
break;
|
||||
case 29:
|
||||
num8 = warpNode2.NpcDataId;
|
||||
num = 807288897;
|
||||
break;
|
||||
case 23:
|
||||
goto IL_0661;
|
||||
case 18:
|
||||
goto IL_0685;
|
||||
case 10:
|
||||
goto IL_06b0;
|
||||
case 14:
|
||||
_206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_206E_202E((ILogger)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>(630015669), new object[2]
|
||||
{
|
||||
ticketNode.ItemId,
|
||||
territoryInfo.GetNameAndId(ticketNode.TerritoryId)
|
||||
});
|
||||
instructions.Add(new NavInstruction.Unmount());
|
||||
instructions.Add(new NavInstruction.UseTeleportTicket(ticketNode.ItemId, (ushort)ticketNode.TerritoryId));
|
||||
instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList<uint>(ticketNode.TerritoryId), _200D_200B_202E_206A_202B_200E_202E_206D_206E_200C_200E_202B_206B_200F_206A_200D_206E_206D_206D_200D_206B_200C_206A_200D_202C_202C_206B_202D_206A_202B_202B_206A_200C_206A_202B_206B_206E_206B_206F_200F_202E(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>(-2762116), territoryInfo.GetNameAndId(ticketNode.TerritoryId), 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>(-2010692120))));
|
||||
return;
|
||||
case 8:
|
||||
goto IL_078c;
|
||||
case 11:
|
||||
goto IL_07b7;
|
||||
case 22:
|
||||
goto IL_08c6;
|
||||
case 36:
|
||||
instructions.Add(new NavInstruction.Move((ushort)territoryId3, seg.To.Position, Fly: false, LandAtTarget: false, 3f, null, false, DisableNavmesh: true, AllowZoneTransition: false, seg.To.Id, seg.From.Id, IsFinal: false));
|
||||
return;
|
||||
case 9:
|
||||
goto IL_0a00;
|
||||
case 27:
|
||||
goto IL_0a3d;
|
||||
case 35:
|
||||
num8 = null;
|
||||
num = 807288897;
|
||||
break;
|
||||
case 13:
|
||||
goto IL_0aab;
|
||||
case 33:
|
||||
instructions.Add(new NavInstruction.SubRegionTransport(seg.From.Position, seg.To.Position, (ushort)territoryId3));
|
||||
return;
|
||||
case 4:
|
||||
goto IL_0afd;
|
||||
case 26:
|
||||
num7 = (ushort)seg.To.TerritoryId;
|
||||
goto IL_02e1;
|
||||
case 3:
|
||||
{
|
||||
num = 807288906;
|
||||
break;
|
||||
}
|
||||
IL_02e1:
|
||||
expectedTerritory = (ushort)num7;
|
||||
_206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_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>(1751938459), new object[1] { seg.TeleportTarget.Value });
|
||||
instructions.Add(new NavInstruction.Teleport(seg.TeleportTarget.Value, expectedTerritory));
|
||||
return;
|
||||
IL_0562:
|
||||
flag = (byte)num9 != 0;
|
||||
_206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_206E_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>(363490105), new object[2]
|
||||
{
|
||||
territoryInfo.GetNameAndId(territoryId4),
|
||||
flag ? 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>(988567605) : 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>(-1568919776)
|
||||
});
|
||||
instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList<uint>(territoryId4), _200D_200B_202E_206A_202B_200E_202E_206D_206E_200C_200E_202B_206B_200F_206A_200D_206E_206D_206D_200D_206B_200C_206A_200D_202C_202C_206B_202D_206A_202B_202B_206A_200C_206A_202B_206B_206E_206B_206F_200F_202E(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>(-2762116), territoryInfo.GetNameAndId(territoryId4), 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>(-2010692120))));
|
||||
num = (disableNavmesh ? 807288933 : 807288924);
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
IL_0aab:
|
||||
num8 = warpNode.NpcDataId;
|
||||
num = ((!num8.HasValue) ? 807288921 : 807288920);
|
||||
continue;
|
||||
IL_0a00:
|
||||
num = (aetheryteData.TerritoryIds.TryGetValue(seg.TeleportTarget.Value, out value) ? 807288916 : 807288922);
|
||||
continue;
|
||||
IL_0200:
|
||||
num = ((subRegionConnectorNode.Kind != SubRegionConnectorKind.Move) ? 807288929 : 807288932);
|
||||
continue;
|
||||
IL_0a3d:
|
||||
num = ((!TryComputeApproach(trigger, seg.From.Position, previous?.From.Position, out approach)) ? 807288898 : 807288913);
|
||||
continue;
|
||||
IL_0685:
|
||||
num = ((!seg.AethernetTo.HasValue) ? 807288927 : 807288926);
|
||||
continue;
|
||||
IL_0609:
|
||||
warpNode2 = seg.To as NavNode.WarpNode;
|
||||
num = (((object)warpNode2 == null) ? 807288931 : 807288925);
|
||||
continue;
|
||||
IL_032e:
|
||||
zoneBoundaryNode = seg.From as NavNode.ZoneBoundaryNode;
|
||||
num = (((object)zoneBoundaryNode == null) ? 807288898 : 807288919);
|
||||
continue;
|
||||
IL_02b8:
|
||||
trigger = zoneBoundaryNode.Trigger;
|
||||
num = (((object)trigger == null) ? 807288898 : 807288923);
|
||||
continue;
|
||||
IL_0661:
|
||||
num = (zoneBoundaryNode.RequiresFlying ? 807288898 : 807288915);
|
||||
continue;
|
||||
end_IL_003d:
|
||||
uint? num = ((!(seg.To is NavNode.WarpNode warpNode)) ? ((uint?)null) : warpNode.NpcDataId);
|
||||
uint? dataId = num;
|
||||
instructions.Add(new NavInstruction.Move((ushort)territoryId, seg.To.Position, seg.Fly, seg.Fly, flag ? ((float?)null) : new float?(3f), dataId, null, DisableNavmesh: false, AllowZoneTransition: false, seg.To.Id, seg.From.Id, flag));
|
||||
break;
|
||||
}
|
||||
goto IL_01d4;
|
||||
IL_01d4:
|
||||
ticketNode = seg.To as NavNode.TicketNode;
|
||||
num = (((object)ticketNode != null) ? 807288910 : 807288911);
|
||||
goto IL_003d;
|
||||
IL_0afd:
|
||||
num = ((!seg.AethernetFrom.HasValue) ? 807288927 : 807288914);
|
||||
goto IL_003d;
|
||||
IL_027e:
|
||||
territoryId4 = seg.From.TerritoryId;
|
||||
num3 = 1;
|
||||
num4 = segmentCount;
|
||||
num = ((index != ~(~num4 + num3)) ? 807288901 : 807288930);
|
||||
goto IL_003d;
|
||||
IL_06b0:
|
||||
_200E_200E_200B_206E_206C_200C_200B_200E_206E_206D_200D_200D_200C_206F_202B_202C_206A_206A_202E_206F_202B_200D_200F_206B_200D_200D_206B_206B_202E_206F_202E_206A_200F_202B_202E_200F_206B_206E_202B_200C_202E((ILogger)logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(968645964), new object[1] { seg.EdgeType });
|
||||
num = 807288927;
|
||||
goto IL_003d;
|
||||
IL_07b7:
|
||||
territoryId5 = seg.From.TerritoryId;
|
||||
territoryId6 = seg.To.TerritoryId;
|
||||
_206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_206E_202E((ILogger)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>(-940746981), new object[2]
|
||||
case NavEdgeType.ZoneBoundary:
|
||||
{
|
||||
territoryInfo.GetNameAndId(territoryId5),
|
||||
territoryInfo.GetNameAndId(territoryId6)
|
||||
});
|
||||
global::_003C_003Ez__ReadOnlyArray<uint> acceptable = new global::_003C_003Ez__ReadOnlyArray<uint>(new uint[2] { territoryId5, territoryId6 });
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(21, 2);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(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>(-2121195380));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(territoryInfo.GetNameAndId(territoryId5));
|
||||
defaultInterpolatedStringHandler.AppendLiteral(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>(-1654880308));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(territoryInfo.GetNameAndId(territoryId6));
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-2010692120));
|
||||
instructions.Add(new NavInstruction.WaitForTerritory(acceptable, defaultInterpolatedStringHandler.ToStringAndClear()));
|
||||
instructions.Add(new NavInstruction.WaitForNavmesh());
|
||||
num = ((!seg.Fly) ? 807288898 : 807288903);
|
||||
goto IL_003d;
|
||||
IL_078c:
|
||||
num = ((!seg.TeleportTarget.HasValue) ? 807288927 : 807288905);
|
||||
goto IL_003d;
|
||||
IL_08c6:
|
||||
territoryId3 = seg.From.TerritoryId;
|
||||
_206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_206E_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>(713062435), new object[1] { territoryInfo.GetNameAndId(territoryId3) });
|
||||
instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList<uint>(territoryId3), _200D_200B_202E_206A_202B_200E_202E_206D_206E_200C_200E_202B_206B_200F_206A_200D_206E_206D_206D_200D_206B_200C_206A_200D_202C_202C_206B_202D_206A_202B_202B_206A_200C_206A_202B_206B_206E_206B_206F_200F_202E(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>(71095156), territoryInfo.GetNameAndId(territoryId3), 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>(998949340))));
|
||||
instructions.Add(new NavInstruction.WaitForNavmesh());
|
||||
ushort territory3 = (ushort)territoryId3;
|
||||
Vector3 position3 = seg.From.Position;
|
||||
float? stopDistance3 = 0f;
|
||||
num8 = null;
|
||||
instructions.Add(new NavInstruction.Move(territory3, position3, Fly: false, LandAtTarget: false, stopDistance3, num8, false, DisableNavmesh: false, AllowZoneTransition: false, seg.From.Id, null, IsFinal: false));
|
||||
subRegionConnectorNode = seg.From as NavNode.SubRegionConnectorNode;
|
||||
num = (((object)subRegionConnectorNode == null) ? 807288929 : 807288902);
|
||||
goto IL_003d;
|
||||
}
|
||||
|
||||
static Vector3 _202D_200F_202D_206F_206E_200B_202A_206C_206B_202B_200F_200C_206F_206E_200D_202E_206B_202B_200C_206F_200B_202D_202D_206C_202A_206C_200C_206B_202B_200C_206C_206A_202C_202B_202B_200C_206C_200E_202B_206E_202E(TriggerBox P_0)
|
||||
{
|
||||
return P_0.HalfExtents;
|
||||
}
|
||||
|
||||
static Vector3 _206D_202C_200C_202D_206B_200C_200B_206C_202C_202C_202B_206C_202B_200C_202D_206A_202B_202C_202D_200C_206E_202A_206D_206E_200B_206C_206F_200C_206D_200C_202D_206C_200D_206A_206D_206E_202C_206E_206D_202E(TriggerBox P_0)
|
||||
{
|
||||
return P_0.RotationRadians;
|
||||
}
|
||||
|
||||
static Vector3 _202E_202E_200B_202A_206D_200C_202C_206F_202E_202D_200B_202A_206C_202D_206C_200F_202A_206D_202C_202D_206E_206C_200D_202B_206E_202E_202D_200C_206F_200F_202D_200B_200C_200D_202B_206E_200E_202B_206B_206F_202E(TriggerBox P_0)
|
||||
{
|
||||
return P_0.Translation;
|
||||
}
|
||||
|
||||
static void _206F_206D_206C_202A_200C_206F_202C_206D_200B_206D_202E_200E_206C_206F_202B_200E_202B_200B_200B_202B_206F_206F_202C_206E_202A_206A_200B_206B_202E_202E_202D_206D_202D_200B_200F_206A_202D_202E_206E_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogTrace(P_1, P_2);
|
||||
}
|
||||
|
||||
static string _200D_200B_202E_206A_202B_200E_202E_206D_206E_200C_200E_202B_206B_200F_206A_200D_206E_206D_206D_200D_206B_200C_206A_200D_202C_202C_206B_202D_206A_202B_202B_206A_200C_206A_202B_206B_206E_206B_206F_200F_202E(string P_0, string P_1, string P_2)
|
||||
{
|
||||
return P_0 + P_1 + P_2;
|
||||
}
|
||||
|
||||
static void _200E_200E_200B_206E_206C_200C_200B_200E_206E_206D_200D_200D_200C_206F_202B_202C_206A_206A_202E_206F_202B_200D_200F_206B_200D_200D_206B_206B_202E_206F_202E_206A_200F_202B_202E_200F_206B_206E_202B_200C_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogWarning(P_1, P_2);
|
||||
uint territoryId3 = seg.From.TerritoryId;
|
||||
territoryId4 = seg.To.TerritoryId;
|
||||
logger.LogTrace("SmartNav: Cross boundary {From} -> {To}", territoryInfo.GetNameAndId(territoryId3), territoryInfo.GetNameAndId(territoryId4));
|
||||
instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlyArray<uint>(new uint[2] { territoryId3, territoryId4 }), $"Wait(territory: {territoryInfo.GetNameAndId(territoryId3)} or {territoryInfo.GetNameAndId(territoryId4)})"));
|
||||
instructions.Add(new NavInstruction.WaitForNavmesh());
|
||||
if (seg.Fly && seg.From is NavNode.ZoneBoundaryNode { RequiresFlying: false } zoneBoundaryNode)
|
||||
{
|
||||
TriggerBox trigger = zoneBoundaryNode.Trigger;
|
||||
if ((object)trigger != null && TryComputeApproach(trigger, seg.From.Position, previous?.From.Position, out var approach))
|
||||
{
|
||||
instructions.Add(new NavInstruction.Move((ushort)territoryId3, approach, Fly: true, LandAtTarget: true, 3f, null, null, DisableNavmesh: false, AllowZoneTransition: true, seg.From.Id, null, IsFinal: false));
|
||||
instructions.Add(new NavInstruction.Move((ushort)territoryId3, seg.From.Position, Fly: false, LandAtTarget: false, 0f, null, null, DisableNavmesh: false, AllowZoneTransition: true, seg.From.Id, null, IsFinal: false));
|
||||
goto IL_04b4;
|
||||
}
|
||||
}
|
||||
instructions.Add(new NavInstruction.Move((ushort)territoryId3, seg.From.Position, seg.Fly, seg.Fly, 0f, null, null, DisableNavmesh: false, AllowZoneTransition: true, seg.From.Id, null, IsFinal: false));
|
||||
goto IL_04b4;
|
||||
}
|
||||
case NavEdgeType.Warp:
|
||||
{
|
||||
uint territoryId5 = seg.From.TerritoryId;
|
||||
uint territoryId6 = seg.To.TerritoryId;
|
||||
logger.LogTrace("SmartNav: Warp from {From} to {To}", territoryInfo.GetNameAndId(territoryId5), territoryInfo.GetNameAndId(territoryId6));
|
||||
if (seg.From is NavNode.WarpNode { NpcDataId: { } npcDataId } warpNode2)
|
||||
{
|
||||
instructions.Add(new NavInstruction.InteractWarp(npcDataId, warpNode2.WarpRowId, (ushort)territoryId5, (ushort)territoryId6));
|
||||
break;
|
||||
}
|
||||
logger.LogWarning("SmartNav: warp segment {From} -> {To} has no interactable source NPC; segment dropped", territoryInfo.GetNameAndId(territoryId5), territoryInfo.GetNameAndId(territoryId6));
|
||||
break;
|
||||
}
|
||||
case NavEdgeType.SubRegionTransport:
|
||||
{
|
||||
uint territoryId2 = seg.From.TerritoryId;
|
||||
logger.LogTrace("SmartNav: Sub-region transport in {Territory}", territoryInfo.GetNameAndId(territoryId2));
|
||||
instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList<uint>(territoryId2), "Wait(territory: " + territoryInfo.GetNameAndId(territoryId2) + ")"));
|
||||
instructions.Add(new NavInstruction.WaitForNavmesh());
|
||||
instructions.Add(new NavInstruction.Move((ushort)territoryId2, seg.From.Position, Fly: false, LandAtTarget: false, 0f, null, false, DisableNavmesh: false, AllowZoneTransition: false, seg.From.Id, null, IsFinal: false));
|
||||
if (seg.From is NavNode.SubRegionConnectorNode { Kind: SubRegionConnectorKind.Move })
|
||||
{
|
||||
instructions.Add(new NavInstruction.Move((ushort)territoryId2, seg.To.Position, Fly: false, LandAtTarget: false, 3f, null, false, DisableNavmesh: true, AllowZoneTransition: false, seg.To.Id, seg.From.Id, IsFinal: false));
|
||||
}
|
||||
else
|
||||
{
|
||||
instructions.Add(new NavInstruction.SubRegionTransport(seg.From.Position, seg.To.Position, (ushort)territoryId2));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case NavEdgeType.TicketTeleport:
|
||||
if (!(seg.To is NavNode.TicketNode ticketNode))
|
||||
{
|
||||
logger.LogWarning("SmartNav: ticket teleport segment without a ticket node; segment dropped");
|
||||
break;
|
||||
}
|
||||
logger.LogTrace("SmartNav: Teleport ticket {ItemId} to {Territory}", ticketNode.ItemId, territoryInfo.GetNameAndId(ticketNode.TerritoryId));
|
||||
instructions.Add(new NavInstruction.Unmount());
|
||||
instructions.Add(new NavInstruction.UseTeleportTicket(ticketNode.ItemId, (ushort)ticketNode.TerritoryId));
|
||||
instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList<uint>(ticketNode.TerritoryId), "Wait(territory: " + territoryInfo.GetNameAndId(ticketNode.TerritoryId) + ")"));
|
||||
break;
|
||||
default:
|
||||
{
|
||||
logger.LogWarning("SmartNav: unhandled edge type {EdgeType}; segment dropped", seg.EdgeType);
|
||||
break;
|
||||
}
|
||||
IL_04b4:
|
||||
instructions.Add(new NavInstruction.WaitForTerritory(new global::_003C_003Ez__ReadOnlySingleElementList<uint>(territoryId4), "Wait(territory: " + territoryInfo.GetNameAndId(territoryId4) + ")"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,111 +1,13 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
|
||||
namespace SmartNav;
|
||||
|
||||
public sealed record RouteResult(IReadOnlyList<RouteSegment> Segments, float TotalTimeCost, int TotalGilCost)
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _202A_202E_200E_206E_206D_200C_200B_206A_200D_206B_200F_200C_200C_202B_202E_202D_200B_200E_202A_206F_200F_202D_202A_202C_202A_200C_206C_206A_200C_206C_206B_200D_200E_202E_202A_206F_200C_202D_200B_202C_202E(typeof(RouteResult).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
public static readonly RouteResult Empty = new RouteResult(Array.Empty<RouteSegment>(), 0f, 0);
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _202A_206D_202D_200B_202E_202E_202D_206C_200C_200E_206D_200E_206D_202C_200B_202B_206A_202C_206F_206A_206E_206C_202D_200D_200C_200F_206D_200C_202C_202B_202A_200B_206A_202E_206E_202C_200D_206B_200C_206E_202E();
|
||||
_202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_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>(-577380167));
|
||||
_202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_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>(1547267250));
|
||||
int num = ((!PrintMembers(stringBuilder)) ? (-6444735) : (-6444734));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -6444733;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
num = -6444734;
|
||||
break;
|
||||
case 2:
|
||||
_202D_202C_200F_200E_206C_200D_206B_202A_200C_200B_206E_202A_200B_200D_202A_206C_200C_200C_202C_206C_202D_202B_206D_206A_202E_200C_200D_200F_200B_202A_206A_206D_202B_206F_200B_200F_202B_206F_206F_206A_202E(stringBuilder, '}');
|
||||
return _206C_200C_200C_202B_200C_200B_200B_200C_206B_200D_206A_206B_206A_206B_202D_206C_200C_206B_202E_200C_200E_206D_206B_202D_200F_202D_200F_202E_206C_206D_202E_206D_206E_206C_202D_206A_200D_200D_202E_202D_202E((object)stringBuilder);
|
||||
case 1:
|
||||
_202D_202C_200F_200E_206C_200D_206B_202A_200C_200B_206E_202A_200B_200D_202A_206C_200C_200C_202C_206C_202D_202B_206D_206A_202E_200C_200D_200F_200B_202A_206A_206D_202B_206F_200B_200F_202B_206F_206F_206A_202E(stringBuilder, ' ');
|
||||
num = -6444735;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_202E_206B_202C_206E_202E_206C_206A_200F_200C_206A_200D_206D_202C_202C_202A_206B_200C_206A_206E_200C_200D_200C_202E_200E_200E_206E_202E_200F_206B_202A_206E_206D_206E_202A_202A_206C_202E_206D_200B_202B_202E();
|
||||
_202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_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>(-1058882453));
|
||||
_200E_200E_206D_206A_206A_200B_206C_200B_200B_200B_206B_200C_206B_202C_200D_202A_206A_200C_200C_202B_202E_200B_202D_202A_206C_200C_202E_206C_202D_206A_202C_200C_206D_200C_200E_206B_200C_202D_206B_206D_202E(builder, (object)Segments);
|
||||
_202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_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>(-36131857));
|
||||
_202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_206D_202E(builder, TotalTimeCost.ToString());
|
||||
_202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_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>(-169019911));
|
||||
_202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_206D_202E(builder, TotalGilCost.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(RouteResult? other)
|
||||
{
|
||||
int num = (((object)this == other) ? (-1895963469) : (-1895963465));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1895963466;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = -1895963465;
|
||||
break;
|
||||
case 6:
|
||||
return EqualityComparer<int>.Default.Equals(TotalGilCost, other.TotalGilCost);
|
||||
case 4:
|
||||
num = ((!_206F_200F_202B_206C_200B_202A_200E_202A_206F_200D_202B_202D_202B_200C_202B_202C_206C_206A_202C_206C_206D_200B_206F_200E_202D_202C_202D_200E_202A_202A_206E_206F_202E_200B_206B_206C_206D_206B_202E_200F_202E(EqualityContract, other.EqualityContract)) ? (-1895963467) : (-1895963466));
|
||||
break;
|
||||
case 5:
|
||||
return true;
|
||||
case 7:
|
||||
num = ((!EqualityComparer<float>.Default.Equals(TotalTimeCost, other.TotalTimeCost)) ? (-1895963467) : (-1895963472));
|
||||
break;
|
||||
case 0:
|
||||
num = ((!EqualityComparer<IReadOnlyList<RouteSegment>>.Default.Equals(Segments, other.Segments)) ? (-1895963467) : (-1895963471));
|
||||
break;
|
||||
case 3:
|
||||
return false;
|
||||
case 1:
|
||||
num = (((object)other == null) ? (-1895963467) : (-1895963470));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<RouteResult>.Equals(RouteResult? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private RouteResult(RouteResult original)
|
||||
{
|
||||
|
|
@ -113,44 +15,4 @@ public sealed record RouteResult(IReadOnlyList<RouteSegment> Segments, float Tot
|
|||
TotalTimeCost = original.TotalTimeCost;
|
||||
TotalGilCost = original.TotalGilCost;
|
||||
}
|
||||
|
||||
static Type _202A_202E_200E_206E_206D_200C_200B_206A_200D_206B_200F_200C_200C_202B_202E_202D_200B_200E_202A_206F_200F_202D_202A_202C_202A_200C_206C_206A_200C_206C_206B_200D_200E_202E_202A_206F_200C_202D_200B_202C_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder _202A_206D_202D_200B_202E_202E_202D_206C_200C_200E_206D_200E_206D_202C_200B_202B_206A_202C_206F_206A_206E_206C_202D_200D_200C_200F_206D_200C_202C_202B_202A_200B_206A_202E_206E_202C_200D_206B_200C_206E_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _202A_206B_202A_200E_206D_202B_202E_202D_206F_200D_206F_202A_206E_202D_202E_200D_206F_206F_202E_200F_200E_202B_200F_206C_202C_200C_202E_202E_202B_206D_206E_200E_206E_202E_202B_202D_200E_202D_200D_206D_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _202D_202C_200F_200E_206C_200D_206B_202A_200C_200B_206E_202A_200B_200D_202A_206C_200C_200C_202C_206C_202D_202B_206D_206A_202E_200C_200D_200F_200B_202A_206A_206D_202B_206F_200B_200F_202B_206F_206F_206A_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _206C_200C_200C_202B_200C_200B_200B_200C_206B_200D_206A_206B_206A_206B_202D_206C_200C_206B_202E_200C_200E_206D_206B_202D_200F_202D_200F_202E_206C_206D_202E_206D_206E_206C_202D_206A_200D_200D_202E_202D_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static void _202E_206B_202C_206E_202E_206C_206A_200F_200C_206A_200D_206D_202C_202C_202A_206B_200C_206A_206E_200C_200D_200C_202E_200E_200E_206E_202E_200F_206B_202A_206E_206D_206E_202A_202A_206C_202E_206D_200B_202B_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder _200E_200E_206D_206A_206A_200B_206C_200B_200B_200B_206B_200C_206B_202C_200D_202A_206A_200C_200C_202B_202E_200B_202D_202A_206C_200C_202E_206C_202D_206A_202C_200C_206D_200C_200E_206B_200C_202D_206B_206D_202E(StringBuilder P_0, object P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _206F_200F_202B_206C_200B_202A_200E_202A_206F_200D_202B_202D_202B_200C_202B_202C_206C_206A_202C_206C_206D_200B_206F_200E_202D_202C_202D_200E_202A_202A_206E_206F_202E_200B_206B_206C_206D_206B_202E_200F_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,176 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using SmartNav.Graph;
|
||||
using SmartNav.Model;
|
||||
|
||||
namespace SmartNav;
|
||||
|
||||
public sealed record RouteSegment(NavEdgeType EdgeType, NavNode From, NavNode To, float TimeCost, int GilCost, EAetheryteLocation? TeleportTarget = null, EAetheryteLocation? AethernetFrom = null, EAetheryteLocation? AethernetTo = null, bool Fly = false)
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _206E_202B_206E_200F_200F_206A_202D_202C_200D_200C_200D_206E_206E_206D_206C_206A_206B_202D_202A_200B_200C_206F_200D_202E_206C_202A_200F_206A_202D_206A_200D_202D_200C_206B_206B_200C_202C_206B_206E_202A_202E(typeof(RouteSegment).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _206A_200B_206F_202E_202E_200B_200C_202A_202D_202C_202E_202C_202E_200E_200B_202B_200C_202D_202D_206E_206A_200B_206F_206B_200C_206C_200B_202C_200D_202C_206E_202E_202E_206B_206A_200E_206D_202D_202D_200E_202E();
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_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>(604182264));
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_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)) ? 113490331 : 113490328);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 113490330;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = 113490328;
|
||||
break;
|
||||
case 2:
|
||||
_200E_202D_206B_206F_206F_206F_200C_202E_202D_200F_206B_202B_200D_206E_202C_202B_206F_206F_206F_200B_200D_200D_200F_202D_206F_200C_202A_200F_200B_206B_202A_202A_202C_200F_202A_200D_206A_202D_200D_202D_202E(stringBuilder, ' ');
|
||||
num = 113490331;
|
||||
break;
|
||||
case 1:
|
||||
_200E_202D_206B_206F_206F_206F_200C_202E_202D_200F_206B_202B_200D_206E_202C_202B_206F_206F_206F_200B_200D_200D_200F_202D_206F_200C_202A_200F_200B_206B_202A_202A_202C_200F_202A_200D_206A_202D_200D_202D_202E(stringBuilder, '}');
|
||||
return _202C_206B_202C_202D_202A_206E_206C_202D_200D_206D_206F_202C_206C_206A_206D_200B_200F_202E_202B_202D_200D_200C_202C_202C_202E_206A_200D_206A_202B_202B_202C_202A_206A_206E_202E_200D_202D_200B_200F_202A_202E((object)stringBuilder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_200E_206C_206D_200D_206C_200B_202C_202C_206A_200B_200D_206B_206D_206D_202C_206B_206F_200D_200F_206D_206D_202A_200F_202B_200C_202B_202C_206B_206B_200B_202B_202C_202B_202A_200D_200F_200F_200E_202D_206E_202E();
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_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>(-1357100031));
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, EdgeType.ToString());
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_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>(-813710077));
|
||||
_206D_202D_202D_206E_200B_200F_200C_200D_202A_200B_200C_206A_200F_202C_200E_206E_200F_200C_202E_200E_206D_202E_200B_206B_206B_200D_206D_202D_200C_206D_206B_206E_200C_202A_206E_206F_206F_200D_202E_200C_202E(builder, (object)From);
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_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>(-865901425));
|
||||
_206D_202D_202D_206E_200B_200F_200C_200D_202A_200B_200C_206A_200F_202C_200E_206E_200F_200C_202E_200E_206D_202E_200B_206B_206B_200D_206D_202D_200C_206D_206B_206E_200C_202A_206E_206F_206F_200D_202E_200C_202E(builder, (object)To);
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_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>(1456359759));
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, TimeCost.ToString());
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_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>(777403998));
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, GilCost.ToString());
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_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>(1828871146));
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, TeleportTarget.ToString());
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_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>(448663852));
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, AethernetFrom.ToString());
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_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>(-874714194));
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, AethernetTo.ToString());
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_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>(-1888043309));
|
||||
_202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(builder, Fly.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(RouteSegment? other)
|
||||
{
|
||||
int num = (((object)this == other) ? 128949533 : 128949523);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 128949535;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 5:
|
||||
num = 128949523;
|
||||
break;
|
||||
case 2:
|
||||
return true;
|
||||
case 10:
|
||||
num = ((!EqualityComparer<float>.Default.Equals(TimeCost, other.TimeCost)) ? 128949534 : 128949527);
|
||||
break;
|
||||
case 8:
|
||||
num = ((!EqualityComparer<int>.Default.Equals(GilCost, other.GilCost)) ? 128949534 : 128949535);
|
||||
break;
|
||||
case 12:
|
||||
num = (((object)other == null) ? 128949534 : 128949526);
|
||||
break;
|
||||
case 4:
|
||||
num = ((!EqualityComparer<EAetheryteLocation?>.Default.Equals(AethernetFrom, other.AethernetFrom)) ? 128949534 : 128949522);
|
||||
break;
|
||||
case 3:
|
||||
num = ((!EqualityComparer<NavEdgeType>.Default.Equals(EdgeType, other.EdgeType)) ? 128949534 : 128949528);
|
||||
break;
|
||||
case 1:
|
||||
return false;
|
||||
case 0:
|
||||
num = ((!EqualityComparer<EAetheryteLocation?>.Default.Equals(TeleportTarget, other.TeleportTarget)) ? 128949534 : 128949531);
|
||||
break;
|
||||
case 6:
|
||||
num = ((!EqualityComparer<NavNode>.Default.Equals(To, other.To)) ? 128949534 : 128949525);
|
||||
break;
|
||||
case 7:
|
||||
num = ((!EqualityComparer<NavNode>.Default.Equals(From, other.From)) ? 128949534 : 128949529);
|
||||
break;
|
||||
case 11:
|
||||
return EqualityComparer<bool>.Default.Equals(Fly, other.Fly);
|
||||
case 13:
|
||||
num = ((!EqualityComparer<EAetheryteLocation?>.Default.Equals(AethernetTo, other.AethernetTo)) ? 128949534 : 128949524);
|
||||
break;
|
||||
case 9:
|
||||
num = ((!_206C_200B_200C_206F_206A_202A_202E_200B_202C_200B_200B_206D_202E_206E_206A_202E_206C_200B_200B_200C_202E_202B_206B_206F_206B_206B_200F_206C_206C_206F_206A_206A_206A_200E_206C_200C_200E_200C_202E_202E_202E(EqualityContract, other.EqualityContract)) ? 128949534 : 128949532);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<RouteSegment>.Equals(RouteSegment? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _206E_202B_206E_200F_200F_206A_202D_202C_200D_200C_200D_206E_206E_206D_206C_206A_206B_202D_202A_200B_200C_206F_200D_202E_206C_202A_200F_206A_202D_206A_200D_202D_200C_206B_206B_200C_202C_206B_206E_202A_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder _206A_200B_206F_202E_202E_200B_200C_202A_202D_202C_202E_202C_202E_200E_200B_202B_200C_202D_202D_206E_206A_200B_206F_206B_200C_206C_200B_202C_200D_202C_206E_202E_202E_206B_206A_200E_206D_202D_202D_200E_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _202C_200D_200D_206F_200E_202D_202E_200F_202E_202D_206E_202C_202B_200F_202B_200F_206D_202D_202D_200E_202A_206E_206D_206E_202A_202A_202E_200E_202C_200D_200B_206B_200E_200C_206B_200F_200F_202A_206E_206B_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _200E_202D_206B_206F_206F_206F_200C_202E_202D_200F_206B_202B_200D_206E_202C_202B_206F_206F_206F_200B_200D_200D_200F_202D_206F_200C_202A_200F_200B_206B_202A_202A_202C_200F_202A_200D_206A_202D_200D_202D_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _202C_206B_202C_202D_202A_206E_206C_202D_200D_206D_206F_202C_206C_206A_206D_200B_200F_202E_202B_202D_200D_200C_202C_202C_202E_206A_200D_206A_202B_202B_202C_202A_206A_206E_202E_200D_202D_200B_200F_202A_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static void _200E_206C_206D_200D_206C_200B_202C_202C_206A_200B_200D_206B_206D_206D_202C_206B_206F_200D_200F_206D_206D_202A_200F_202B_200C_202B_202C_206B_206B_200B_202B_202C_202B_202A_200D_200F_200F_200E_202D_206E_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder _206D_202D_202D_206E_200B_200F_200C_200D_202A_200B_200C_206A_200F_202C_200E_206E_200F_200C_202E_200E_206D_202E_200B_206B_206B_200D_206D_202D_200C_206D_206B_206E_200C_202A_206E_206F_206F_200D_202E_200C_202E(StringBuilder P_0, object P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _206C_200B_200C_206F_206A_202A_202E_200B_202C_200B_200B_206D_202E_206E_206A_202E_206C_200B_200B_200C_202E_202B_206B_206F_206B_206B_200F_206C_206C_206F_206A_206A_206A_200E_206C_200C_200E_200C_202E_202E_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
public sealed record RouteSegment(NavEdgeType EdgeType, NavNode From, NavNode To, float TimeCost, int GilCost, EAetheryteLocation? TeleportTarget = null, EAetheryteLocation? AethernetFrom = null, EAetheryteLocation? AethernetTo = null, bool Fly = false);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Threading;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace SmartNav;
|
||||
|
|
@ -9,226 +7,58 @@ public sealed class WarpFailureTracker(ILogger<WarpFailureTracker> logger)
|
|||
{
|
||||
private const int BlacklistThreshold = 3;
|
||||
|
||||
private readonly object _gate = _202B_206F_206C_202E_206C_200B_206F_206A_206D_200E_200D_200B_200C_200B_200C_206D_206F_202A_200E_206A_200F_206A_206B_200F_206F_200D_202B_206C_206F_200E_206D_206F_202E_200C_200B_206C_202D_200F_200F_200C_202E();
|
||||
private readonly object _gate = new object();
|
||||
|
||||
private readonly Dictionary<uint, int> _consecutiveFailures = new Dictionary<uint, int>();
|
||||
|
||||
private readonly HashSet<uint> _blacklisted = new HashSet<uint>();
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public bool RecordAttempt(uint warpRowId)
|
||||
{
|
||||
object gate = _gate;
|
||||
bool flag = false;
|
||||
try
|
||||
lock (_gate)
|
||||
{
|
||||
_206C_200C_200F_206A_202B_200C_206B_206C_202E_202A_206F_206C_200E_200B_202C_206C_206A_200D_202C_202E_206F_202E_202C_200C_206B_206C_206A_202E_206C_206B_206A_206D_200F_200D_202E_206A_200F_200E_206D_200E_202E(gate, ref flag);
|
||||
int num = ((!_blacklisted.Contains(warpRowId)) ? (-1875615629) : (-1875615627));
|
||||
int num7 = default(int);
|
||||
while (true)
|
||||
if (_blacklisted.Contains(warpRowId))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1875615625;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
num = -1875615627;
|
||||
break;
|
||||
case 4:
|
||||
num7 = _consecutiveFailures.GetValueOrDefault(warpRowId) + 1;
|
||||
_consecutiveFailures[warpRowId] = num7;
|
||||
num = ((num7 >= 3) ? (-1875615628) : (-1875615626));
|
||||
break;
|
||||
case 1:
|
||||
return false;
|
||||
case 2:
|
||||
return false;
|
||||
case 3:
|
||||
_blacklisted.Add(warpRowId);
|
||||
_202B_202C_206C_206E_206E_200F_200F_206F_202A_206D_206D_206B_206C_206C_200D_206A_202C_206F_206F_206F_200D_200B_200B_200B_206C_202E_206C_202A_202C_200F_200F_200C_206E_200E_202C_200E_200C_202C_200C_202A_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>(1267719469), new object[2] { warpRowId, num7 });
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
int num = ((!flag) ? (-1114779348) : (-1114779345));
|
||||
while (true)
|
||||
int num = _consecutiveFailures.GetValueOrDefault(warpRowId) + 1;
|
||||
_consecutiveFailures[warpRowId] = num;
|
||||
if (num < 3)
|
||||
{
|
||||
int num8 = num;
|
||||
int num3 = -1114779347;
|
||||
int num4 = num8;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = -1114779345;
|
||||
break;
|
||||
case 1:
|
||||
goto end_IL_013c;
|
||||
case 2:
|
||||
_206C_200E_200B_202C_202A_200C_206E_206A_206E_206D_202B_202E_200C_202D_202E_200D_202A_202C_202E_200E_202C_206E_206D_202E_206F_202B_206B_200B_202E_202E_206C_202A_202B_206C_206F_202C_202E_206F_206E_202A_202E(gate);
|
||||
num = -1114779348;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_013c:
|
||||
break;
|
||||
return false;
|
||||
}
|
||||
_blacklisted.Add(warpRowId);
|
||||
logger.LogWarning("WarpFailureTracker: warp {WarpRowId} failed {Count} consecutive attempts without completing, blacklisting it for this navigation goal so routing avoids it", warpRowId, num);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public void RecordSuccess(uint warpRowId)
|
||||
{
|
||||
object gate = _gate;
|
||||
bool flag = false;
|
||||
try
|
||||
lock (_gate)
|
||||
{
|
||||
_206C_200C_200F_206A_202B_200C_206B_206C_202E_202A_206F_206C_200E_200B_202C_206C_206A_200D_202C_202E_206F_202E_202C_200C_206B_206C_206A_202E_206C_206B_206A_206D_200F_200D_202E_206A_200F_200E_206D_200E_202E(gate, ref flag);
|
||||
_consecutiveFailures.Remove(warpRowId);
|
||||
_blacklisted.Remove(warpRowId);
|
||||
}
|
||||
finally
|
||||
{
|
||||
int num = ((!flag) ? 903611662 : 903611663);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 903611662;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = 903611663;
|
||||
break;
|
||||
case 1:
|
||||
_206C_200E_200B_202C_202A_200C_206E_206A_206E_206D_202B_202E_200C_202D_202E_200D_202A_202C_202E_200E_202C_206E_206D_202E_206F_202B_206B_200B_202E_202E_206C_202A_202B_206C_206F_202C_202E_206F_206E_202A_202E(gate);
|
||||
num = 903611662;
|
||||
break;
|
||||
case 0:
|
||||
goto end_IL_004c;
|
||||
}
|
||||
continue;
|
||||
end_IL_004c:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsBlacklisted(uint warpRowId)
|
||||
{
|
||||
object gate = _gate;
|
||||
bool flag = false;
|
||||
try
|
||||
lock (_gate)
|
||||
{
|
||||
_206C_200C_200F_206A_202B_200C_206B_206C_202E_202A_206F_206C_200E_200B_202C_206C_206A_200D_202C_202E_206F_202E_202C_200C_206B_206C_206A_202E_206C_206B_206A_206D_200F_200D_202E_206A_200F_200E_206D_200E_202E(gate, ref flag);
|
||||
return _blacklisted.Contains(warpRowId);
|
||||
}
|
||||
finally
|
||||
{
|
||||
int num = ((!flag) ? (-120992941) : (-120992944));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -120992943;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = -120992944;
|
||||
break;
|
||||
case 1:
|
||||
_206C_200E_200B_202C_202A_200C_206E_206A_206E_206D_202B_202E_200C_202D_202E_200D_202A_202C_202E_200E_202C_206E_206D_202E_206F_202B_206B_200B_202E_202E_206C_202A_202B_206C_206F_202C_202E_206F_206E_202A_202E(gate);
|
||||
num = -120992941;
|
||||
break;
|
||||
case 2:
|
||||
goto end_IL_003f;
|
||||
}
|
||||
continue;
|
||||
end_IL_003f:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Reset()
|
||||
{
|
||||
object gate = _gate;
|
||||
bool flag = false;
|
||||
try
|
||||
lock (_gate)
|
||||
{
|
||||
_206C_200C_200F_206A_202B_200C_206B_206C_202E_202A_206F_206C_200E_200B_202C_206C_206A_200D_202C_202E_206F_202E_202C_200C_206B_206C_206A_202E_206C_206B_206A_206D_200F_200D_202E_206A_200F_200E_206D_200E_202E(gate, ref flag);
|
||||
int num = ((_consecutiveFailures.Count != 0) ? 1048906019 : 1048906018);
|
||||
while (true)
|
||||
if (_consecutiveFailures.Count != 0 || _blacklisted.Count != 0)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1048906019;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
num = 1048906018;
|
||||
break;
|
||||
case 1:
|
||||
num = ((_blacklisted.Count != 0) ? 1048906019 : 1048906016);
|
||||
break;
|
||||
case 3:
|
||||
return;
|
||||
case 0:
|
||||
_consecutiveFailures.Clear();
|
||||
_blacklisted.Clear();
|
||||
return;
|
||||
}
|
||||
_consecutiveFailures.Clear();
|
||||
_blacklisted.Clear();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
int num = ((!flag) ? 1457557147 : 1457557144);
|
||||
while (true)
|
||||
{
|
||||
int num7 = num;
|
||||
int num3 = 1457557146;
|
||||
int num4 = num7;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = 1457557144;
|
||||
break;
|
||||
case 1:
|
||||
goto end_IL_00dd;
|
||||
case 2:
|
||||
_206C_200E_200B_202C_202A_200C_206E_206A_206E_206D_202B_202E_200C_202D_202E_200D_202A_202C_202E_200E_202C_206E_206D_202E_206F_202B_206B_200B_202E_202E_206C_202A_202B_206C_206F_202C_202E_206F_206E_202A_202E(gate);
|
||||
num = 1457557147;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_00dd:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static object _202B_206F_206C_202E_206C_200B_206F_206A_206D_200E_200D_200B_200C_200B_200C_206D_206F_202A_200E_206A_200F_206A_206B_200F_206F_200D_202B_206C_206F_200E_206D_206F_202E_200C_200B_206C_202D_200F_200F_200C_202E()
|
||||
{
|
||||
return new object();
|
||||
}
|
||||
|
||||
static void _206C_200C_200F_206A_202B_200C_206B_206C_202E_202A_206F_206C_200E_200B_202C_206C_206A_200D_202C_202E_206F_202E_202C_200C_206B_206C_206A_202E_206C_206B_206A_206D_200F_200D_202E_206A_200F_200E_206D_200E_202E(object P_0, ref bool P_1)
|
||||
{
|
||||
Monitor.Enter(P_0, ref P_1);
|
||||
}
|
||||
|
||||
static void _202B_202C_206C_206E_206E_200F_200F_206F_202A_206D_206D_206B_206C_206C_200D_206A_202C_206F_206F_206F_200D_200B_200B_200B_206C_202E_206C_202A_202C_200F_200F_200C_206E_200E_202C_200E_200C_202C_200C_202A_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogWarning(P_1, P_2);
|
||||
}
|
||||
|
||||
static void _206C_200E_200B_202C_202A_200C_206E_206A_206E_206D_202B_202E_200C_202D_202E_200D_202A_202C_202E_200E_202C_206E_206D_202E_206F_202B_206B_200B_202E_202E_206C_202A_202B_206C_206F_202C_202E_206F_206E_202A_202E(object P_0)
|
||||
{
|
||||
Monitor.Exit(P_0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue