forked from aly/qstbak
muffin v7.5.6
This commit is contained in:
parent
6266f9e6b7
commit
addf2d530f
619 changed files with 264792 additions and 446022 deletions
1044
SmartNav/-----------------------------------------.cs
Normal file
1044
SmartNav/-----------------------------------------.cs
Normal file
File diff suppressed because it is too large
Load diff
170
SmartNav/--z__ReadOnlyArray.cs
Normal file
170
SmartNav/--z__ReadOnlyArray.cs
Normal file
|
|
@ -0,0 +1,170 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
[CompilerGenerated]
|
||||
internal sealed class _003C_003Ez__ReadOnlyArray<T> : IEnumerable, ICollection, IList, IEnumerable<T>, IReadOnlyCollection<T>, IReadOnlyList<T>, ICollection<T>, IList<T>
|
||||
{
|
||||
int ICollection.Count => _items.Length;
|
||||
|
||||
bool ICollection.IsSynchronized => false;
|
||||
|
||||
object ICollection.SyncRoot => this;
|
||||
|
||||
object? IList.this[int index]
|
||||
{
|
||||
get
|
||||
{
|
||||
return _items[index];
|
||||
}
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
bool IList.IsFixedSize => true;
|
||||
|
||||
bool IList.IsReadOnly => true;
|
||||
|
||||
int IReadOnlyCollection<T>.Count => _items.Length;
|
||||
|
||||
T IReadOnlyList<T>.this[int index] => _items[index];
|
||||
|
||||
int ICollection<T>.Count => _items.Length;
|
||||
|
||||
bool ICollection<T>.IsReadOnly => true;
|
||||
|
||||
T IList<T>.this[int index]
|
||||
{
|
||||
get
|
||||
{
|
||||
return _items[index];
|
||||
}
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
public _003C_003Ez__ReadOnlyArray(T[] items)
|
||||
{
|
||||
_items = items;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
IEnumerator<T> IEnumerable<T>.GetEnumerator()
|
||||
{
|
||||
return ((IEnumerable<T>)_items).GetEnumerator();
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
bool ICollection<T>.Contains(T item)
|
||||
{
|
||||
return ((ICollection<T>)_items).Contains(item);
|
||||
}
|
||||
|
||||
void ICollection<T>.CopyTo(T[] array, int arrayIndex)
|
||||
{
|
||||
((ICollection<T>)_items).CopyTo(array, arrayIndex);
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
int IList<T>.IndexOf(T item)
|
||||
{
|
||||
return ((IList<T>)_items).IndexOf(item);
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
306
SmartNav/--z__ReadOnlySingleElementList.cs
Normal file
306
SmartNav/--z__ReadOnlySingleElementList.cs
Normal file
|
|
@ -0,0 +1,306 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
[CompilerGenerated]
|
||||
internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, ICollection, IList, IEnumerable<T>, IReadOnlyCollection<T>, IReadOnlyList<T>, ICollection<T>, IList<T>
|
||||
{
|
||||
private sealed class Enumerator : IDisposable, IEnumerator, IEnumerator<T>
|
||||
{
|
||||
object IEnumerator.Current => _item;
|
||||
|
||||
T IEnumerator<T>.Current => _item;
|
||||
|
||||
public Enumerator(T item)
|
||||
{
|
||||
_item = item;
|
||||
}
|
||||
|
||||
bool IEnumerator.MoveNext()
|
||||
{
|
||||
int num = (_moveNextCalled ? 247413323 : 247413320);
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
void IEnumerator.Reset()
|
||||
{
|
||||
_moveNextCalled = false;
|
||||
}
|
||||
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
int ICollection.Count => 1;
|
||||
|
||||
bool ICollection.IsSynchronized => false;
|
||||
|
||||
object ICollection.SyncRoot => this;
|
||||
|
||||
object? IList.this[int index]
|
||||
{
|
||||
get
|
||||
{
|
||||
int num = ((index == 0) ? 2495584 : 2495587);
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
bool IList.IsFixedSize => true;
|
||||
|
||||
bool IList.IsReadOnly => true;
|
||||
|
||||
int IReadOnlyCollection<T>.Count => 1;
|
||||
|
||||
T IReadOnlyList<T>.this[int index]
|
||||
{
|
||||
get
|
||||
{
|
||||
int num = ((index == 0) ? (-1500986328) : (-1500986325));
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int ICollection<T>.Count => 1;
|
||||
|
||||
bool ICollection<T>.IsReadOnly => true;
|
||||
|
||||
T IList<T>.this[int index]
|
||||
{
|
||||
get
|
||||
{
|
||||
int num = ((index == 0) ? 246612200 : 246612201);
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
public _003C_003Ez__ReadOnlySingleElementList(T item)
|
||||
{
|
||||
_item = item;
|
||||
}
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return new Enumerator(_item);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
bool IList.Contains(object? value)
|
||||
{
|
||||
return EqualityComparer<T>.Default.Equals(_item, (T)value);
|
||||
}
|
||||
|
||||
int IList.IndexOf(object? value)
|
||||
{
|
||||
int num = (EqualityComparer<T>.Default.Equals(_item, (T)value) ? 135208521 : 135208522);
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
IEnumerator<T> IEnumerable<T>.GetEnumerator()
|
||||
{
|
||||
return new Enumerator(_item);
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
bool ICollection<T>.Contains(T item)
|
||||
{
|
||||
return EqualityComparer<T>.Default.Equals(_item, item);
|
||||
}
|
||||
|
||||
void ICollection<T>.CopyTo(T[] array, int arrayIndex)
|
||||
{
|
||||
array[arrayIndex] = _item;
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
int IList<T>.IndexOf(T item)
|
||||
{
|
||||
int num = (EqualityComparer<T>.Default.Equals(_item, item) ? (-2052686167) : (-2052686166));
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
1678
SmartNav/-Module-.cs
Normal file
1678
SmartNav/-Module-.cs
Normal file
File diff suppressed because one or more lines are too long
1247
SmartNav/SmartNav.Data/AetheryteData.cs
Normal file
1247
SmartNav/SmartNav.Data/AetheryteData.cs
Normal file
File diff suppressed because it is too large
Load diff
169
SmartNav/SmartNav.Data/ExitRangeEntry.cs
Normal file
169
SmartNav/SmartNav.Data/ExitRangeEntry.cs
Normal file
|
|
@ -0,0 +1,169 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
|
||||
namespace SmartNav.Data;
|
||||
|
||||
internal sealed record ExitRangeEntry(ushort SourceTerritoryId, uint InstanceId, Vector3 SourcePosition, ushort DestTerritoryId, uint DestInstanceId, uint ReturnInstanceId, Vector3 Rotation = default(Vector3), Vector3 HalfExtents = default(Vector3))
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _200F_202B_200D_200E_200B_200B_202A_202A_200E_200B_200B_206D_202B_206B_202D_206D_200B_206D_206F_202C_206A_200D_206D_206D_206E_200E_200B_206A_202E_206C_206C_206C_206A_206D_206C_206B_202D_200E_206A_202C_202E(typeof(ExitRangeEntry).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _200E_206B_200D_206D_206D_200E_200B_206C_200D_202E_202A_202D_202C_202E_206A_206F_200C_202A_202A_200F_200C_200E_202C_206D_202D_206A_206E_206B_200D_200C_202C_206E_206B_206F_202E_200F_202B_200F_206E_202A_202E();
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(347281461));
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-979564187));
|
||||
int num = ((!PrintMembers(stringBuilder)) ? (-1576777821) : (-1576777824));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1576777823;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
num = -1576777824;
|
||||
break;
|
||||
case 1:
|
||||
_202C_202B_206D_202E_202C_206C_206D_206B_202D_202B_200F_202B_200B_206A_206B_200F_206C_206D_202B_200D_202C_202A_200B_206B_202B_202D_206E_206E_200C_202B_202B_200E_202C_200B_200D_202A_206E_206E_206E_200E_202E(stringBuilder, ' ');
|
||||
num = -1576777821;
|
||||
break;
|
||||
case 2:
|
||||
_202C_202B_206D_202E_202C_206C_206D_206B_202D_202B_200F_202B_200B_206A_206B_200F_206C_206D_202B_200D_202C_202A_200B_206B_202B_202D_206E_206E_200C_202B_202B_200E_202C_200B_200D_202A_206E_206E_206E_200E_202E(stringBuilder, '}');
|
||||
return _202D_206B_206C_200B_202C_206B_200B_200F_200E_206D_200D_202E_202C_200E_202C_206D_200C_206B_206A_206B_202A_202C_206D_202D_206D_206B_202B_200E_200E_206F_200E_206C_206E_206F_206E_202B_206F_200E_206D_202B_202E((object)stringBuilder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_202C_200C_202A_202D_206B_202B_202D_206D_200D_200C_200C_206A_202B_200C_206A_206E_202B_206D_200E_202A_202D_200F_200B_206F_200B_200F_206E_206E_202B_202D_206C_200E_202A_200C_202E_202D_206B_202A_206A_200E_202E();
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(2044495272));
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, SourceTerritoryId.ToString());
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-1866378227));
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, InstanceId.ToString());
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-135037385));
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, SourcePosition.ToString());
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(1613414786));
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, DestTerritoryId.ToString());
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(1889617405));
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, DestInstanceId.ToString());
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(1625716735));
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, ReturnInstanceId.ToString());
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-2061524224));
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, Rotation.ToString());
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E<string>(-1794994947));
|
||||
_202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(builder, HalfExtents.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(ExitRangeEntry? other)
|
||||
{
|
||||
int num = (((object)this == other) ? 193782023 : 193782031);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 193782030;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 7:
|
||||
return false;
|
||||
case 10:
|
||||
num = ((!EqualityComparer<Vector3>.Default.Equals(SourcePosition, other.SourcePosition)) ? 193782025 : 193782030);
|
||||
break;
|
||||
case 2:
|
||||
num = ((!_202E_202C_206D_206E_202B_202B_202E_202A_200D_200F_206C_206D_200F_200B_200B_206B_200C_200E_202B_206D_202C_200B_202B_206A_206D_200C_202D_202A_202E_206F_202A_200E_206A_206C_200D_202D_202B_202D_200B_202B_202E(EqualityContract, other.EqualityContract)) ? 193782025 : 193782022);
|
||||
break;
|
||||
case 5:
|
||||
num = ((!EqualityComparer<uint>.Default.Equals(ReturnInstanceId, other.ReturnInstanceId)) ? 193782025 : 193782024);
|
||||
break;
|
||||
case 1:
|
||||
num = (((object)other == null) ? 193782025 : 193782028);
|
||||
break;
|
||||
case 11:
|
||||
num = ((!EqualityComparer<uint>.Default.Equals(DestInstanceId, other.DestInstanceId)) ? 193782025 : 193782027);
|
||||
break;
|
||||
case 0:
|
||||
num = ((!EqualityComparer<ushort>.Default.Equals(DestTerritoryId, other.DestTerritoryId)) ? 193782025 : 193782021);
|
||||
break;
|
||||
case 12:
|
||||
return EqualityComparer<Vector3>.Default.Equals(HalfExtents, other.HalfExtents);
|
||||
case 3:
|
||||
num = 193782031;
|
||||
break;
|
||||
case 8:
|
||||
num = ((!EqualityComparer<ushort>.Default.Equals(SourceTerritoryId, other.SourceTerritoryId)) ? 193782025 : 193782026);
|
||||
break;
|
||||
case 4:
|
||||
num = ((!EqualityComparer<uint>.Default.Equals(InstanceId, other.InstanceId)) ? 193782025 : 193782020);
|
||||
break;
|
||||
case 9:
|
||||
return true;
|
||||
case 6:
|
||||
num = ((!EqualityComparer<Vector3>.Default.Equals(Rotation, other.Rotation)) ? 193782025 : 193782018);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<ExitRangeEntry>.Equals(ExitRangeEntry? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _200F_202B_200D_200E_200B_200B_202A_202A_200E_200B_200B_206D_202B_206B_202D_206D_200B_206D_206F_202C_206A_200D_206D_206D_206E_200E_200B_206A_202E_206C_206C_206C_206A_206D_206C_206B_202D_200E_206A_202C_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder _200E_206B_200D_206D_206D_200E_200B_206C_200D_202E_202A_202D_202C_202E_206A_206F_200C_202A_202A_200F_200C_200E_202C_206D_202D_206A_206E_206B_200D_200C_202C_206E_206B_206F_202E_200F_202B_200F_206E_202A_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _202E_206A_200F_206B_200C_202E_206C_206E_200F_206A_206B_206B_200B_200F_206F_202E_206F_206F_200D_200C_200F_202A_202C_200E_202E_200E_200B_206D_200E_206F_202A_202A_206A_206E_202D_202B_200C_200B_202A_206D_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _202C_202B_206D_202E_202C_206C_206D_206B_202D_202B_200F_202B_200B_206A_206B_200F_206C_206D_202B_200D_202C_202A_200B_206B_202B_202D_206E_206E_200C_202B_202B_200E_202C_200B_200D_202A_206E_206E_206E_200E_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _202D_206B_206C_200B_202C_206B_200B_200F_200E_206D_200D_202E_202C_200E_202C_206D_200C_206B_206A_206B_202A_202C_206D_202D_206D_206B_202B_200E_200E_206F_200E_206C_206E_206F_206E_202B_206F_200E_206D_202B_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static void _202C_200C_202A_202D_206B_202B_202D_206D_200D_200C_200C_206A_202B_200C_206A_206E_202B_206D_200E_202A_202D_200F_200B_206F_200B_200F_206E_206E_202B_202D_206C_200E_202A_200C_202E_202D_206B_202A_206A_200E_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static bool _202E_202C_206D_206E_202B_202B_202E_202A_200D_200F_206C_206D_200F_200B_200B_206B_200C_200E_202B_206D_202C_200B_202B_206A_206D_200C_202D_202A_202E_206F_202A_200E_206A_206C_200D_202D_202B_202D_200B_202B_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
9
SmartNav/SmartNav.Data/IZoneBoundarySource.cs
Normal file
9
SmartNav/SmartNav.Data/IZoneBoundarySource.cs
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
using System.Collections.Generic;
|
||||
using SmartNav.Model.Navigation;
|
||||
|
||||
namespace SmartNav.Data;
|
||||
|
||||
public interface IZoneBoundarySource
|
||||
{
|
||||
IReadOnlyList<ZoneBoundary> GetBoundaries();
|
||||
}
|
||||
411
SmartNav/SmartNav.Data/LgbZoneBoundarySource.cs
Normal file
411
SmartNav/SmartNav.Data/LgbZoneBoundarySource.cs
Normal file
|
|
@ -0,0 +1,411 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Threading;
|
||||
using Dalamud.Plugin.Services;
|
||||
using LLib.GameData;
|
||||
using Lumina.Data.Files;
|
||||
using Lumina.Data.Parsing.Layer;
|
||||
using Lumina.Excel;
|
||||
using Lumina.Excel.Sheets;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SmartNav.Model.Navigation;
|
||||
|
||||
namespace SmartNav.Data;
|
||||
|
||||
public sealed class LgbZoneBoundarySource : IZoneBoundarySource
|
||||
{
|
||||
private readonly IDataManager _dataManager;
|
||||
|
||||
private readonly ILogger<LgbZoneBoundarySource> _logger;
|
||||
|
||||
private readonly Lazy<IReadOnlyList<ZoneBoundary>> _boundaries;
|
||||
|
||||
public LgbZoneBoundarySource(IDataManager dataManager, ILogger<LgbZoneBoundarySource> logger)
|
||||
{
|
||||
_dataManager = dataManager;
|
||||
_logger = logger;
|
||||
_boundaries = new Lazy<IReadOnlyList<ZoneBoundary>>(Build, LazyThreadSafetyMode.ExecutionAndPublication);
|
||||
}
|
||||
|
||||
public IReadOnlyList<ZoneBoundary> GetBoundaries()
|
||||
{
|
||||
return _boundaries.Value;
|
||||
}
|
||||
|
||||
IReadOnlyList<ZoneBoundary> IZoneBoundarySource.GetBoundaries()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in GetBoundaries
|
||||
return this.GetBoundaries();
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private IReadOnlyList<ZoneBoundary> Build()
|
||||
{
|
||||
try
|
||||
{
|
||||
(List<ExitRangeEntry> ExitRanges, Dictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> PopRangeIndex) tuple = CollectLgbData();
|
||||
List<ExitRangeEntry> item = tuple.ExitRanges;
|
||||
Dictionary<(ushort, uint), PopRangeEntry> item2 = tuple.PopRangeIndex;
|
||||
List<ZoneBoundary> list = ZoneBoundaryDerivation.Derive(item, item2, _logger);
|
||||
ZoneBoundaryDerivation.ApplyOverrides(list, ZoneBoundaryOverrides.FlyingPairs, ZoneBoundaryOverrides.PositionOverrides, _logger);
|
||||
_206C_200B_206A_202D_206B_206B_206B_202B_202C_202E_202D_206B_206B_202C_200E_202E_206A_202E_200D_206E_206E_206D_206A_206C_206A_202E_206B_202E_202B_206E_202C_200C_206B_202B_206F_206C_206C_202E_202C_206D_202E((ILogger)_logger, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-981985917), new object[2] { list.Count, item.Count });
|
||||
return list;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_202A_200E_202B_202E_200D_200F_200E_206F_206A_206C_202C_202B_200B_200C_200E_206A_206A_200E_202C_206F_202D_200B_202D_206A_200C_206D_200B_206D_206D_202B_206E_206B_206F_200E_202B_202D_200E_206C_202C_202D_202E((ILogger)_logger, ex, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E<string>(927516533), Array.Empty<object>());
|
||||
return Array.Empty<ZoneBoundary>();
|
||||
}
|
||||
}
|
||||
|
||||
private (List<ExitRangeEntry> ExitRanges, Dictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> PopRangeIndex) CollectLgbData()
|
||||
{
|
||||
List<ExitRangeEntry> list = new List<ExitRangeEntry>();
|
||||
Dictionary<(ushort, uint), PopRangeEntry> dictionary = new Dictionary<(ushort, uint), PopRangeEntry>();
|
||||
HashSet<uint> hashSet = new HashSet<uint>();
|
||||
using (ExcelSheet<Aetheryte>.Enumerator enumerator = _dataManager.GetExcelSheet<Aetheryte>().GetEnumerator())
|
||||
{
|
||||
int num = 1763362761;
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1763362761;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 3:
|
||||
num = 1763362761;
|
||||
break;
|
||||
case 0:
|
||||
num = (enumerator.MoveNext() ? 1763362760 : 1763362763);
|
||||
break;
|
||||
case 1:
|
||||
hashSet.Add(enumerator.Current.Territory.RowId);
|
||||
num = 1763362761;
|
||||
break;
|
||||
case 2:
|
||||
goto end_IL_003b;
|
||||
}
|
||||
continue;
|
||||
end_IL_003b:
|
||||
break;
|
||||
}
|
||||
}
|
||||
ExcelSheet<TerritoryType> excelSheet = _dataManager.GetExcelSheet<TerritoryType>();
|
||||
HashSet<string> visitedLgbPaths = new HashSet<string>();
|
||||
using (ExcelSheet<TerritoryType>.Enumerator enumerator2 = excelSheet.GetEnumerator())
|
||||
{
|
||||
int num = -1445218693;
|
||||
TerritoryType current = default(TerritoryType);
|
||||
while (true)
|
||||
{
|
||||
int num5 = num;
|
||||
int num3 = -1445218689;
|
||||
int num4 = num5;
|
||||
int num6 = num4 + num3;
|
||||
int num7 = num4 & num3;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 3:
|
||||
num = -1445218693;
|
||||
break;
|
||||
case 1:
|
||||
current = enumerator2.Current;
|
||||
num = ((!hashSet.Contains(current.RowId)) ? (-1445218693) : (-1445218691));
|
||||
break;
|
||||
case 2:
|
||||
ScanTerritory(list, dictionary, visitedLgbPaths, current);
|
||||
num = -1445218693;
|
||||
break;
|
||||
case 4:
|
||||
num = (enumerator2.MoveNext() ? (-1445218690) : (-1445218689));
|
||||
break;
|
||||
case 0:
|
||||
goto end_IL_010c;
|
||||
}
|
||||
continue;
|
||||
end_IL_010c:
|
||||
break;
|
||||
}
|
||||
}
|
||||
using (ExcelSheet<TerritoryType>.Enumerator enumerator2 = excelSheet.GetEnumerator())
|
||||
{
|
||||
int num = -1007277372;
|
||||
while (true)
|
||||
{
|
||||
int num8 = num;
|
||||
int num3 = -1007277372;
|
||||
int num4 = num8;
|
||||
int num9 = num4 + num3;
|
||||
int num10 = num4 & num3;
|
||||
switch (num9 - (num10 + num10))
|
||||
{
|
||||
case 2:
|
||||
num = -1007277372;
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
TerritoryType current2 = enumerator2.Current;
|
||||
ScanTerritory(list, dictionary, visitedLgbPaths, current2);
|
||||
num = -1007277372;
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
num = (enumerator2.MoveNext() ? (-1007277371) : (-1007277369));
|
||||
break;
|
||||
case 3:
|
||||
goto end_IL_01e4;
|
||||
}
|
||||
continue;
|
||||
end_IL_01e4:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return (ExitRanges: list, PopRangeIndex: dictionary);
|
||||
}
|
||||
|
||||
private static bool IsNavigableOverworld(ETerritoryIntendedUse use)
|
||||
{
|
||||
int num = ((use > ETerritoryIntendedUse.HousingOutdoor) ? (-754120289) : (-754120291));
|
||||
bool result = default(bool);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -754120292;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 5:
|
||||
num = ((use == ETerritoryIntendedUse.Eureka) ? (-754120298) : (-754120294));
|
||||
break;
|
||||
case 12:
|
||||
num = ((use - 21 <= ETerritoryIntendedUse.Inn) ? (-754120298) : (-754120295));
|
||||
break;
|
||||
case 11:
|
||||
num = ((use - 60 > ETerritoryIntendedUse.Overworld) ? (-754120300) : (-754120298));
|
||||
break;
|
||||
case 0:
|
||||
num = -754120291;
|
||||
break;
|
||||
case 6:
|
||||
num = -754120300;
|
||||
break;
|
||||
case 3:
|
||||
num = ((use > ETerritoryIntendedUse.Eureka) ? (-754120290) : (-754120304));
|
||||
break;
|
||||
case 1:
|
||||
num = ((use <= ETerritoryIntendedUse.Overworld) ? (-754120298) : (-754120303));
|
||||
break;
|
||||
case 8:
|
||||
result = false;
|
||||
num = -754120296;
|
||||
break;
|
||||
case 10:
|
||||
result = true;
|
||||
num = -754120296;
|
||||
break;
|
||||
case 9:
|
||||
num = ((use == ETerritoryIntendedUse.HousingOutdoor) ? (-754120298) : (-754120293));
|
||||
break;
|
||||
case 13:
|
||||
num = ((use == ETerritoryIntendedUse.OpeningArea) ? (-754120298) : (-754120299));
|
||||
break;
|
||||
case 4:
|
||||
return result;
|
||||
case 2:
|
||||
num = ((use - 48 <= ETerritoryIntendedUse.Overworld) ? (-754120298) : (-754120297));
|
||||
break;
|
||||
case 7:
|
||||
num = -754120300;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private void ScanTerritory(List<ExitRangeEntry> exitRanges, Dictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> popRangeIndex, HashSet<string> visitedLgbPaths, TerritoryType territory)
|
||||
{
|
||||
int num = ((territory.RowId != 0) ? 954333098 : 954333094);
|
||||
string text4 = default(string);
|
||||
int num16 = default(int);
|
||||
string text = default(string);
|
||||
int num9 = default(int);
|
||||
LayerCommon.InstanceObject instanceObject = default(LayerCommon.InstanceObject);
|
||||
int num11 = default(int);
|
||||
LayerCommon.Layer[] array = default(LayerCommon.Layer[]);
|
||||
LayerCommon.InstanceObject[] instanceObjects = default(LayerCommon.InstanceObject[]);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 954333091;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
num = 954333094;
|
||||
break;
|
||||
case 5:
|
||||
return;
|
||||
case 4:
|
||||
{
|
||||
string text2 = global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-747831667);
|
||||
string text3 = text4;
|
||||
int num15 = num16;
|
||||
num3 = 1;
|
||||
num4 = num15;
|
||||
text = _206A_206C_202B_202E_200D_200B_206E_206D_206D_206E_200B_202A_200F_202C_202B_200F_202D_200F_200D_202A_206E_200B_200E_202A_202E_206C_206E_202C_200D_200F_200E_206F_200E_202A_206E_206B_206F_200B_200C_206D_202E(text2, _200F_200B_206F_202B_202D_206F_200D_202C_206F_206C_206E_202E_202D_206E_206B_206C_202E_202D_206E_202E_206D_200B_202D_200D_202A_202D_206C_200C_206B_206B_200C_200B_200F_200D_200C_206B_206B_206A_206B_200C_202E(text3, 0, (num4 | num3) + (num4 & num3)), global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-1939239349));
|
||||
num = (visitedLgbPaths.Add(text) ? 954333092 : 954333089);
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
num16 = _202A_206F_200D_202A_202C_206A_200C_202A_206C_206A_206F_200E_206D_206F_206C_200D_200B_202E_206F_202E_200E_206B_200C_206D_202A_202E_206E_200C_206E_206A_202B_206F_200F_206C_206A_200B_206B_202B_202E_200D_202E(text4, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(16137996), StringComparison.Ordinal);
|
||||
num = ((num16 >= 0) ? 954333095 : 954333099);
|
||||
break;
|
||||
case 9:
|
||||
num = (IsNavigableOverworld((ETerritoryIntendedUse)territory.TerritoryIntendedUse.RowId) ? 954333093 : 954333088);
|
||||
break;
|
||||
case 8:
|
||||
return;
|
||||
case 10:
|
||||
return;
|
||||
case 3:
|
||||
return;
|
||||
case 2:
|
||||
return;
|
||||
case 6:
|
||||
text4 = territory.Bg.ExtractText();
|
||||
num = ((!_206E_206A_200C_200E_202E_202D_202C_200B_206E_206A_200F_206E_202C_206F_200D_200C_200D_200D_202E_206C_206D_202E_206F_206E_200D_202E_206A_206A_200E_206B_200C_202C_202B_200F_206D_200C_202E_206F_202A_206C_202E(text4)) ? 954333090 : 954333097);
|
||||
break;
|
||||
case 7:
|
||||
{
|
||||
ushort num7 = (ushort)territory.RowId;
|
||||
LgbFile file;
|
||||
try
|
||||
{
|
||||
file = _dataManager.GetFile<LgbFile>(text);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_206D_206B_200C_200C_200E_200F_202D_206E_200E_206C_206A_200C_200E_202E_202A_200B_206C_206B_206F_200D_202A_202B_206A_200C_202C_202D_200B_202A_202E_206F_206D_202A_206C_200D_200F_200B_200E_206F_206E_206B_202E((ILogger)_logger, ex, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(422414557), new object[1] { text });
|
||||
return;
|
||||
}
|
||||
num = ((file != null) ? (-1034574211) : (-1034574214));
|
||||
while (true)
|
||||
{
|
||||
int num8 = num;
|
||||
num3 = -1034574218;
|
||||
num4 = num8;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 6:
|
||||
{
|
||||
int num12 = num9;
|
||||
num3 = 1;
|
||||
num4 = num12;
|
||||
int num13 = num4 ^ num3;
|
||||
int num14 = num4 & num3;
|
||||
num9 = num13 + (num14 + num14);
|
||||
num = -1034574220;
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
popRangeIndex[(num7, instanceObject.InstanceId)] = new PopRangeEntry(num7, instanceObject.InstanceId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z));
|
||||
num = -1034574224;
|
||||
break;
|
||||
case 9:
|
||||
num = ((num11 < array.Length) ? (-1034574210) : (-1034574219));
|
||||
break;
|
||||
case 11:
|
||||
array = _206B_202A_206C_200B_200F_202D_200C_202D_206C_206E_206C_206E_202E_200B_202D_202C_206F_206F_202B_200E_202A_200C_202E_206E_206D_206E_202B_206E_200F_206F_200F_200E_206F_202D_202C_206E_200D_200F_202A_200E_202E(file);
|
||||
num11 = 0;
|
||||
num = -1034574209;
|
||||
break;
|
||||
case 12:
|
||||
return;
|
||||
case 8:
|
||||
instanceObjects = array[num11].InstanceObjects;
|
||||
num9 = 0;
|
||||
num = -1034574220;
|
||||
break;
|
||||
case 7:
|
||||
{
|
||||
int num10 = num11;
|
||||
num3 = 1;
|
||||
num4 = num10;
|
||||
num11 = (num4 | num3) + (num4 & num3);
|
||||
num = -1034574209;
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
return;
|
||||
case 10:
|
||||
num = -1034574214;
|
||||
break;
|
||||
case 2:
|
||||
num = ((num9 < instanceObjects.Length) ? (-1034574222) : (-1034574223));
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
LayerCommon.ExitRangeInstanceObject exitRangeInstanceObject = (LayerCommon.ExitRangeInstanceObject)(object)instanceObject.Object;
|
||||
exitRanges.Add(new ExitRangeEntry(num7, instanceObject.InstanceId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z), exitRangeInstanceObject.TerritoryType, exitRangeInstanceObject.DestInstanceId, exitRangeInstanceObject.ReturnInstanceId, new Vector3(instanceObject.Transform.Rotation.X, instanceObject.Transform.Rotation.Y, instanceObject.Transform.Rotation.Z), new Vector3(instanceObject.Transform.Scale.X, instanceObject.Transform.Scale.Y, instanceObject.Transform.Scale.Z)));
|
||||
num = -1034574224;
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
num = ((instanceObject.AssetType != LayerEntryType.PopRange) ? (-1034574224) : (-1034574218));
|
||||
break;
|
||||
case 4:
|
||||
instanceObject = instanceObjects[num9];
|
||||
num = ((instanceObject.AssetType != LayerEntryType.ExitRange) ? (-1034574221) : (-1034574217));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void _206C_200B_206A_202D_206B_206B_206B_202B_202C_202E_202D_206B_206B_202C_200E_202E_206A_202E_200D_206E_206E_206D_206A_206C_206A_202E_206B_202E_202B_206E_202C_200C_206B_202B_206F_206C_206C_202E_202C_206D_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
|
||||
static void _202A_200E_202B_202E_200D_200F_200E_206F_206A_206C_202C_202B_200B_200C_200E_206A_206A_200E_202C_206F_202D_200B_202D_206A_200C_206D_200B_206D_206D_202B_206E_206B_206F_200E_202B_202D_200E_206C_202C_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
|
||||
{
|
||||
P_0.LogError(P_1, P_2, P_3);
|
||||
}
|
||||
|
||||
static bool _206E_206A_200C_200E_202E_202D_202C_200B_206E_206A_200F_206E_202C_206F_200D_200C_200D_200D_202E_206C_206D_202E_206F_206E_200D_202E_206A_206A_200E_206B_200C_202C_202B_200F_206D_200C_202E_206F_202A_206C_202E(string P_0)
|
||||
{
|
||||
return string.IsNullOrEmpty(P_0);
|
||||
}
|
||||
|
||||
static int _202A_206F_200D_202A_202C_206A_200C_202A_206C_206A_206F_200E_206D_206F_206C_200D_200B_202E_206F_202E_200E_206B_200C_206D_202A_202E_206E_200C_206E_206A_202B_206F_200F_206C_206A_200B_206B_202B_202E_200D_202E(string P_0, string P_1, StringComparison P_2)
|
||||
{
|
||||
return P_0.IndexOf(P_1, P_2);
|
||||
}
|
||||
|
||||
static string _200F_200B_206F_202B_202D_206F_200D_202C_206F_206C_206E_202E_202D_206E_206B_206C_202E_202D_206E_202E_206D_200B_202D_200D_202A_202D_206C_200C_206B_206B_200C_200B_200F_200D_200C_206B_206B_206A_206B_200C_202E(string P_0, int P_1, int P_2)
|
||||
{
|
||||
return P_0.Substring(P_1, P_2);
|
||||
}
|
||||
|
||||
static string _206A_206C_202B_202E_200D_200B_206E_206D_206D_206E_200B_202A_200F_202C_202B_200F_202D_200F_200D_202A_206E_200B_200E_202A_202E_206C_206E_202C_200D_200F_200E_206F_200E_202A_206E_206B_206F_200B_200C_206D_202E(string P_0, string P_1, string P_2)
|
||||
{
|
||||
return P_0 + P_1 + P_2;
|
||||
}
|
||||
|
||||
static void _206D_206B_200C_200C_200E_200F_202D_206E_200E_206C_206A_200C_200E_202E_202A_200B_206C_206B_206F_200D_202A_202B_206A_200C_202C_202D_200B_202A_202E_206F_206D_202A_206C_200D_200F_200B_200E_206F_206E_206B_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
|
||||
{
|
||||
P_0.LogTrace(P_1, P_2, P_3);
|
||||
}
|
||||
|
||||
static LayerCommon.Layer[] _206B_202A_206C_200B_200F_202D_200C_202D_206C_206E_206C_206E_202E_200B_202D_202C_206F_206F_202B_200E_202A_200C_202E_206E_206D_206E_202B_206E_200F_206F_200F_200E_206F_202D_202C_206E_200D_200F_202A_200E_202E(LgbFile P_0)
|
||||
{
|
||||
return P_0.Layers;
|
||||
}
|
||||
}
|
||||
142
SmartNav/SmartNav.Data/PopRangeEntry.cs
Normal file
142
SmartNav/SmartNav.Data/PopRangeEntry.cs
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
|
||||
namespace SmartNav.Data;
|
||||
|
||||
internal sealed record PopRangeEntry(ushort TerritoryId, uint InstanceId, Vector3 Position)
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _200C_202C_200D_206B_206B_200C_202A_202A_200D_206C_200B_206D_200C_202E_200D_200E_202C_206D_200D_202E_200B_202D_202E_202B_202E_200D_200F_206D_202E_202C_202C_202E_206A_200F_202E_206E_206D_202A_200E_202E_202E(typeof(PopRangeEntry).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _202B_200C_206E_200B_206F_200E_206F_206B_202C_202E_206E_206E_202C_200C_202B_206D_206A_206C_206B_202B_206B_200F_202A_206F_206A_202B_202B_200F_200B_206B_202D_206F_206D_206B_200B_202B_200D_200C_200B_200E_202E();
|
||||
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-808505002));
|
||||
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(stringBuilder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E<string>(1886515922));
|
||||
int num = ((!PrintMembers(stringBuilder)) ? 514533744 : 514533747);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 514533746;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
_200E_200E_206E_206B_206B_200C_206C_206D_206A_206B_206D_200C_206A_202E_206A_202D_200C_200B_202C_206A_202B_202E_206E_206A_202B_202C_200E_200E_206B_206B_200F_206C_200E_202E_206B_206D_200C_206A_202D_206E_202E(stringBuilder, '}');
|
||||
return _202A_202C_200F_206D_206E_202C_206A_206F_206A_206D_206C_206C_200E_206E_200B_202D_202E_202D_206E_206C_206C_202C_200C_200D_206F_206E_206C_202A_200B_206B_206C_206E_202B_206C_200E_206E_206D_202D_200B_206E_202E((object)stringBuilder);
|
||||
case 1:
|
||||
_200E_200E_206E_206B_206B_200C_206C_206D_206A_206B_206D_200C_206A_202E_206A_202D_200C_200B_202C_206A_202B_202E_206E_206A_202B_202C_200E_200E_206B_206B_200F_206C_200E_202E_206B_206D_200C_206A_202D_206E_202E(stringBuilder, ' ');
|
||||
num = 514533744;
|
||||
break;
|
||||
case 0:
|
||||
num = 514533747;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_200E_206A_202C_200C_200E_202A_206E_206B_200B_206E_202C_200F_202B_200F_202D_206E_206B_200D_202D_200F_202B_206F_202A_202B_206E_202C_202C_200C_200E_200B_206D_200F_200C_200D_202B_200E_202E_202B_206E_206F_202E();
|
||||
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(167583641));
|
||||
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, TerritoryId.ToString());
|
||||
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(299588646));
|
||||
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, InstanceId.ToString());
|
||||
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-14976604));
|
||||
_202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(builder, Position.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(PopRangeEntry? other)
|
||||
{
|
||||
int num = (((object)this == other) ? (-1947000687) : (-1947000681));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1947000682;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = -1947000681;
|
||||
break;
|
||||
case 5:
|
||||
return EqualityComparer<Vector3>.Default.Equals(Position, other.Position);
|
||||
case 1:
|
||||
num = (((object)other == null) ? (-1947000686) : (-1947000688));
|
||||
break;
|
||||
case 3:
|
||||
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? (-1947000686) : (-1947000682));
|
||||
break;
|
||||
case 7:
|
||||
return true;
|
||||
case 4:
|
||||
return false;
|
||||
case 6:
|
||||
num = ((!_200E_206D_206F_200E_206B_206B_206B_206B_206E_202B_200F_206F_206F_206E_202A_200C_202C_206F_200D_206F_202E_206D_206F_206E_200E_202A_200F_202D_202D_200B_206F_202D_202D_206E_200E_200E_206C_206A_202C_202E(EqualityContract, other.EqualityContract)) ? (-1947000686) : (-1947000683));
|
||||
break;
|
||||
case 0:
|
||||
num = ((!EqualityComparer<uint>.Default.Equals(InstanceId, other.InstanceId)) ? (-1947000686) : (-1947000685));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<PopRangeEntry>.Equals(PopRangeEntry? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _200C_202C_200D_206B_206B_200C_202A_202A_200D_206C_200B_206D_200C_202E_200D_200E_202C_206D_200D_202E_200B_202D_202E_202B_202E_200D_200F_206D_202E_202C_202C_202E_206A_200F_202E_206E_206D_202A_200E_202E_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder _202B_200C_206E_200B_206F_200E_206F_206B_202C_202E_206E_206E_202C_200C_202B_206D_206A_206C_206B_202B_206B_200F_202A_206F_206A_202B_202B_200F_200B_206B_202D_206F_206D_206B_200B_202B_200D_200C_200B_200E_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _202A_202D_202E_206E_206C_200C_206B_200F_206B_200D_202D_206A_202C_200E_202B_200D_200E_202E_200E_200C_206C_206B_200C_206A_200D_202B_206D_206C_206D_200F_200F_200D_202B_202B_206A_200F_200F_206D_206D_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _200E_200E_206E_206B_206B_200C_206C_206D_206A_206B_206D_200C_206A_202E_206A_202D_200C_200B_202C_206A_202B_202E_206E_206A_202B_202C_200E_200E_206B_206B_200F_206C_200E_202E_206B_206D_200C_206A_202D_206E_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _202A_202C_200F_206D_206E_202C_206A_206F_206A_206D_206C_206C_200E_206E_200B_202D_202E_202D_206E_206C_206C_202C_200C_200D_206F_206E_206C_202A_200B_206B_206C_206E_202B_206C_200E_206E_206D_202D_200B_206E_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static void _200E_206A_202C_200C_200E_202A_206E_206B_200B_206E_202C_200F_202B_200F_202D_206E_206B_200D_202D_200F_202B_206F_202A_202B_206E_202C_202C_200C_200E_200B_206D_200F_200C_200D_202B_200E_202E_202B_206E_206F_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static bool _200E_206D_206F_200E_206B_206B_206B_206B_206E_202B_200F_206F_206F_206E_202A_200C_202C_206F_200D_206F_202E_206D_206F_206E_200E_202A_200F_202D_202D_200B_206F_202D_202D_206E_200E_200E_206C_206A_202C_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
149
SmartNav/SmartNav.Data/SmartNavDataOptions.cs
Normal file
149
SmartNav/SmartNav.Data/SmartNavDataOptions.cs
Normal file
|
|
@ -0,0 +1,149 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
|
||||
namespace SmartNav.Data;
|
||||
|
||||
public sealed record SmartNavDataOptions(DirectoryInfo? UserOverrideDirectory = null, DirectoryInfo? DevSourceDirectory = null, string? GameVersion = null)
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _206B_202A_200C_202A_200E_200C_206E_200E_200F_206D_206A_206B_202C_202B_202C_200E_200B_206B_206C_202D_206A_206D_202C_200B_200C_202B_206A_202E_206E_206F_202C_200E_206E_206F_206F_200C_200E_206F_202A_202A_202E(typeof(SmartNavDataOptions).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _200E_206C_200D_200F_206B_202A_200C_206C_202E_202A_206A_200E_200C_206D_202B_200B_206C_202A_202E_206F_200F_206F_202E_202E_206A_202E_202E_202A_206F_202B_202A_200F_200C_206D_200D_200D_206F_202D_202D_202B_202E();
|
||||
_206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-1494308078));
|
||||
_206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(stringBuilder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(1120247710));
|
||||
int num = ((!PrintMembers(stringBuilder)) ? (-1057108320) : (-1057108319));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1057108320;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
num = -1057108319;
|
||||
break;
|
||||
case 0:
|
||||
_202A_200C_200D_206D_202A_200F_200F_200D_200D_206D_206A_202D_200B_200C_200D_206C_202E_200F_200F_202C_200F_206A_206D_200F_202E_206B_202B_200E_206E_202A_202C_206E_202B_200B_206F_202E_206A_200E_206B_202A_202E(stringBuilder, '}');
|
||||
return _200C_206C_206C_202E_200D_206B_202B_202B_202B_200B_202C_200D_202A_202A_200F_206E_206E_200F_202E_202C_202D_202C_202E_206B_202E_202C_200C_200E_200E_206F_200C_206D_206F_202E_200F_202C_206E_206E_200C_200F_202E((object?)stringBuilder);
|
||||
case 1:
|
||||
_202A_200C_200D_206D_202A_200F_200F_200D_200D_206D_206A_202D_200B_200C_200D_206C_202E_200F_200F_202C_200F_206A_206D_200F_202E_206B_202B_200E_206E_202A_202C_206E_202B_200B_206F_202E_206A_200E_206B_202A_202E(stringBuilder, ' ');
|
||||
num = -1057108320;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_206F_200F_206D_206B_200B_200F_206A_202D_202E_200C_206A_202C_202A_200E_200B_202B_200C_202B_206E_206F_202E_206F_206F_202A_206B_206A_206A_206B_200C_206E_206C_200C_202D_200C_202C_206F_200C_202A_206F_200C_202E();
|
||||
_206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-148533820));
|
||||
_206E_206F_206E_202A_202E_202A_200F_206D_206C_206B_206F_206F_206A_200B_206B_202B_200D_206B_202E_206A_200F_200F_202C_202C_206C_200E_206A_200B_202C_202A_200E_206B_202A_206D_200C_206E_200C_206E_202B_202D_202E(builder, (object?)UserOverrideDirectory);
|
||||
_206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-1567612591));
|
||||
_206E_206F_206E_202A_202E_202A_200F_206D_206C_206B_206F_206F_206A_200B_206B_202B_200D_206B_202E_206A_200F_200F_202C_202C_206C_200E_206A_200B_202C_202A_200E_206B_202A_206D_200C_206E_200C_206E_202B_202D_202E(builder, (object?)DevSourceDirectory);
|
||||
_206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-204927746));
|
||||
_206E_206F_206E_202A_202E_202A_200F_206D_206C_206B_206F_206F_206A_200B_206B_202B_200D_206B_202E_206A_200F_200F_202C_202C_206C_200E_206A_200B_202C_202A_200E_206B_202A_206D_200C_206E_200C_206E_202B_202D_202E(builder, (object?)GameVersion);
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(SmartNavDataOptions? other)
|
||||
{
|
||||
int num = (((object)this == other) ? (-1367918412) : (-1367918411));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1367918409;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
num = -1367918411;
|
||||
break;
|
||||
case 6:
|
||||
return false;
|
||||
case 3:
|
||||
return true;
|
||||
case 4:
|
||||
num = ((!_202B_200E_200F_206E_200B_206D_200D_206C_202B_206B_202D_200F_200C_206F_200F_200C_202D_206B_202D_200B_202D_206F_200D_202B_206C_202E_200B_202A_206A_206D_202D_206B_206E_202D_206E_206B_206A_202C_200C_202A_202E(EqualityContract, other.EqualityContract)) ? (-1367918415) : (-1367918410));
|
||||
break;
|
||||
case 2:
|
||||
num = (((object)other == null) ? (-1367918415) : (-1367918413));
|
||||
break;
|
||||
case 1:
|
||||
num = ((!EqualityComparer<DirectoryInfo>.Default.Equals(UserOverrideDirectory, other.UserOverrideDirectory)) ? (-1367918415) : (-1367918414));
|
||||
break;
|
||||
case 7:
|
||||
return EqualityComparer<string>.Default.Equals(GameVersion, other.GameVersion);
|
||||
case 5:
|
||||
num = ((!EqualityComparer<DirectoryInfo>.Default.Equals(DevSourceDirectory, other.DevSourceDirectory)) ? (-1367918415) : (-1367918416));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<SmartNavDataOptions>.Equals(SmartNavDataOptions? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type? _206B_202A_200C_202A_200E_200C_206E_200E_200F_206D_206A_206B_202C_202B_202C_200E_200B_206B_206C_202D_206A_206D_202C_200B_200C_202B_206A_202E_206E_206F_202C_200E_206E_206F_206F_200C_200E_206F_202A_202A_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder? _200E_206C_200D_200F_206B_202A_200C_206C_202E_202A_206A_200E_200C_206D_202B_200B_206C_202A_202E_206F_200F_206F_202E_202E_206A_202E_202E_202A_206F_202B_202A_200F_200C_206D_200D_200D_206F_202D_202D_202B_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder? _206A_202A_200F_206B_206A_200B_202C_206F_200C_200D_206E_200B_202C_200D_206D_202B_200F_200D_206D_200C_206D_200B_202E_206E_206E_206E_200F_206B_200B_206F_206A_200E_206D_206B_206C_200B_206B_206F_200D_202D_202E(StringBuilder? P_0, string? P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder? _202A_200C_200D_206D_202A_200F_200F_200D_200D_206D_206A_202D_200B_200C_200D_206C_202E_200F_200F_202C_200F_206A_206D_200F_202E_206B_202B_200E_206E_202A_202C_206E_202B_200B_206F_202E_206A_200E_206B_202A_202E(StringBuilder? P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string? _200C_206C_206C_202E_200D_206B_202B_202B_202B_200B_202C_200D_202A_202A_200F_206E_206E_200F_202E_202C_202D_202C_202E_206B_202E_202C_200C_200E_200E_206F_200C_206D_206F_202E_200F_202C_206E_206E_200C_200F_202E(object? P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static void _206F_200F_206D_206B_200B_200F_206A_202D_202E_200C_206A_202C_202A_200E_200B_202B_200C_202B_206E_206F_202E_206F_206F_202A_206B_206A_206A_206B_200C_206E_206C_200C_202D_200C_202C_206F_200C_202A_206F_200C_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder? _206E_206F_206E_202A_202E_202A_200F_206D_206C_206B_206F_206F_206A_200B_206B_202B_200D_206B_202E_206A_200F_200F_202C_202C_206C_200E_206A_200B_202C_202A_200E_206B_202A_206D_200C_206E_200C_206E_202B_202D_202E(StringBuilder? P_0, object? P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _202B_200E_200F_206E_200B_206D_200D_206C_202B_206B_202D_200F_200C_206F_200F_200C_202D_206B_202D_200B_202D_206F_200D_202B_206C_202E_200B_202A_206A_206D_202D_206B_206E_202D_206E_206B_206A_202C_200C_202A_202E(Type? P_0, Type? P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
434
SmartNav/SmartNav.Data/TaxiStandDataService.cs
Normal file
434
SmartNav/SmartNav.Data/TaxiStandDataService.cs
Normal file
|
|
@ -0,0 +1,434 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using Dalamud.Plugin.Services;
|
||||
using Lumina.Excel;
|
||||
using Lumina.Excel.Sheets;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SmartNav.Model.Navigation;
|
||||
|
||||
namespace SmartNav.Data;
|
||||
|
||||
public sealed class TaxiStandDataService
|
||||
{
|
||||
public sealed record TaxiStandInfo(uint StandRowId, string PlaceName, ushort TerritoryId, Vector3 Position, uint NpcDataId, TaxiRoute[] Routes)
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _206B_202A_202D_206F_202E_206A_206E_200E_200C_200D_200D_200E_206F_202B_202C_202C_206B_202C_206F_200D_202E_200D_206E_206E_200B_202B_206B_206F_200D_206E_200E_200B_200B_202D_200F_206F_206D_202A_200C_200D_202E(typeof(TaxiStandInfo).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _206F_202D_206A_206E_200B_202B_200E_202A_206A_202B_202C_206A_202C_206F_202A_206E_206B_200D_200D_202B_202B_206A_202D_202B_206E_206E_202E_202C_202D_206E_202B_206E_202B_200E_200B_202A_200C_206C_206E_200F_202E();
|
||||
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-457906279));
|
||||
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-169322018));
|
||||
int num = ((!PrintMembers(stringBuilder)) ? (-7237964) : (-7237961));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -7237962;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = -7237961;
|
||||
break;
|
||||
case 1:
|
||||
_200F_206A_206F_200E_206F_200B_200E_202B_202B_200E_206D_200D_206F_200B_200D_206B_202C_206C_200F_206D_200D_206A_200B_202A_200D_202C_200D_200F_200F_202C_202A_202B_206B_202D_200B_206B_202C_200B_206A_206F_202E(stringBuilder, ' ');
|
||||
num = -7237964;
|
||||
break;
|
||||
case 2:
|
||||
_200F_206A_206F_200E_206F_200B_200E_202B_202B_200E_206D_200D_206F_200B_200D_206B_202C_206C_200F_206D_200D_206A_200B_202A_200D_202C_200D_200F_200F_202C_202A_202B_206B_202D_200B_206B_202C_200B_206A_206F_202E(stringBuilder, '}');
|
||||
return _206D_200D_202A_206A_202A_206D_200E_206C_206A_202E_206C_202C_202E_202E_206B_202A_200B_206E_206A_202D_200D_206B_206F_206E_200E_202A_202B_206D_202C_200D_200B_206A_206F_206E_200F_202C_202C_202C_206F_202D_202E((object)stringBuilder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_200C_200F_206C_206F_202B_202D_206C_200C_202D_202D_202D_206C_206D_206A_206A_206C_200B_206D_206F_200D_202E_202D_206B_202A_206F_206F_200C_202E_206B_200B_200E_206F_206C_206A_200B_206E_200C_206C_202B_200F_202E();
|
||||
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-1862745090));
|
||||
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, StandRowId.ToString());
|
||||
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(1386669126));
|
||||
_206C_202D_206E_200B_200D_200C_200E_200D_202C_200D_200E_206E_202A_206A_206B_200C_206B_200F_200E_200F_206F_202C_200C_206F_206A_200C_202A_202A_202A_202C_206B_200C_202D_200D_200E_200E_202D_206C_206A_206F_202E(builder, (object)PlaceName);
|
||||
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(1283726812));
|
||||
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, TerritoryId.ToString());
|
||||
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(772692776));
|
||||
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, Position.ToString());
|
||||
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-1004265433));
|
||||
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, NpcDataId.ToString());
|
||||
_200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-1716966096));
|
||||
_206C_202D_206E_200B_200D_200C_200E_200D_202C_200D_200E_206E_202A_206A_206B_200C_206B_200F_200E_200F_206F_202C_200C_206F_206A_200C_202A_202A_202A_202C_206B_200C_202D_200D_200E_200E_202D_206C_206A_206F_202E(builder, (object)Routes);
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(TaxiStandInfo? other)
|
||||
{
|
||||
int num = (((object)this == other) ? 1006480636 : 1006480639);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1006480638;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 7:
|
||||
num = 1006480639;
|
||||
break;
|
||||
case 10:
|
||||
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? 1006480634 : 1006480637);
|
||||
break;
|
||||
case 0:
|
||||
num = ((!EqualityComparer<uint>.Default.Equals(NpcDataId, other.NpcDataId)) ? 1006480634 : 1006480631);
|
||||
break;
|
||||
case 3:
|
||||
num = ((!EqualityComparer<Vector3>.Default.Equals(Position, other.Position)) ? 1006480634 : 1006480638);
|
||||
break;
|
||||
case 5:
|
||||
num = ((!EqualityComparer<string>.Default.Equals(PlaceName, other.PlaceName)) ? 1006480634 : 1006480628);
|
||||
break;
|
||||
case 8:
|
||||
num = ((!_202A_200F_206B_200D_206F_202D_206D_202A_206D_200E_202C_206A_206D_200B_202C_206E_206E_202C_200F_206D_206C_206F_200F_200B_202D_202E_202D_206F_202B_200F_200E_200C_202D_206E_200B_206F_206F_202E_202B_202B_202E(EqualityContract, other.EqualityContract)) ? 1006480634 : 1006480632);
|
||||
break;
|
||||
case 9:
|
||||
return EqualityComparer<TaxiRoute[]>.Default.Equals(Routes, other.Routes);
|
||||
case 4:
|
||||
return false;
|
||||
case 2:
|
||||
return true;
|
||||
case 6:
|
||||
num = ((!EqualityComparer<uint>.Default.Equals(StandRowId, other.StandRowId)) ? 1006480634 : 1006480635);
|
||||
break;
|
||||
case 1:
|
||||
num = (((object)other == null) ? 1006480634 : 1006480630);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<TaxiStandInfo>.Equals(TaxiStandInfo? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _206B_202A_202D_206F_202E_206A_206E_200E_200C_200D_200D_200E_206F_202B_202C_202C_206B_202C_206F_200D_202E_200D_206E_206E_200B_202B_206B_206F_200D_206E_200E_200B_200B_202D_200F_206F_206D_202A_200C_200D_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder _206F_202D_206A_206E_200B_202B_200E_202A_206A_202B_202C_206A_202C_206F_202A_206E_206B_200D_200D_202B_202B_206A_202D_202B_206E_206E_202E_202C_202D_206E_202B_206E_202B_200E_200B_202A_200C_206C_206E_200F_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _200F_200F_202E_206B_200E_200C_202C_200B_202B_202B_202B_202E_206F_200C_202D_200E_200D_202A_200C_206F_206D_202E_202E_206C_206D_200B_200C_206C_200B_200B_206F_206F_206B_202A_206D_200C_200F_206E_202B_202C_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _200F_206A_206F_200E_206F_200B_200E_202B_202B_200E_206D_200D_206F_200B_200D_206B_202C_206C_200F_206D_200D_206A_200B_202A_200D_202C_200D_200F_200F_202C_202A_202B_206B_202D_200B_206B_202C_200B_206A_206F_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _206D_200D_202A_206A_202A_206D_200E_206C_206A_202E_206C_202C_202E_202E_206B_202A_200B_206E_206A_202D_200D_206B_206F_206E_200E_202A_202B_206D_202C_200D_200B_206A_206F_206E_200F_202C_202C_202C_206F_202D_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static void _200C_200F_206C_206F_202B_202D_206C_200C_202D_202D_202D_206C_206D_206A_206A_206C_200B_206D_206F_200D_202E_202D_206B_202A_206F_206F_200C_202E_206B_200B_200E_206F_206C_206A_200B_206E_200C_206C_202B_200F_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder _206C_202D_206E_200B_200D_200C_200E_200D_202C_200D_200E_206E_202A_206A_206B_200C_206B_200F_200E_200F_206F_202C_200C_206F_206A_200C_202A_202A_202A_202C_206B_200C_202D_200D_200E_200E_202D_206C_206A_206F_202E(StringBuilder P_0, object P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _202A_200F_206B_200D_206F_202D_206D_202A_206D_200E_202C_206A_206D_200B_202C_206E_206E_202C_200F_206D_206C_206F_200F_200B_202D_202E_202D_206F_202B_200F_200E_200C_202D_206E_200B_206F_206F_202E_202B_202B_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
public sealed record TaxiRoute(uint DestStandRowId, int Fare, int TimeRequiredSeconds)
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _202E_206D_200F_202E_206E_200B_202C_200C_202C_200F_200C_206C_206A_206C_202E_200C_200B_206E_206B_200B_202A_206B_200C_206A_200E_202D_200F_200F_202B_206F_206A_206B_206B_202A_206E_206A_206D_200B_200C_202D_202E(typeof(TaxiRoute).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _206D_206A_206B_202D_200E_206E_200E_200B_200E_206C_206B_200B_206E_202B_200D_206E_206A_206F_202E_206B_206E_202B_206B_206A_206F_200B_200B_202B_206E_206C_200E_202C_200B_206F_206D_200B_206C_202E_202C_202A_202E();
|
||||
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(76454572));
|
||||
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-979564187));
|
||||
int num = ((!PrintMembers(stringBuilder)) ? 956238306 : 956238307);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 956238306;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
_200D_206E_202C_200F_200C_200E_202A_202E_202A_206C_206E_202E_206B_200B_206A_200B_206F_206E_202C_206C_200E_206E_206A_206B_202B_206A_206A_206B_206D_202C_206F_202A_202A_202B_200D_206A_206C_206F_202D_206D_202E(stringBuilder, '}');
|
||||
return _200F_200F_202E_202B_202A_206A_206D_200E_202B_206C_200E_206C_202D_200C_202B_202D_202E_206C_206A_200F_200B_206C_206B_206F_202D_206E_206F_202D_202B_202E_200B_200C_206E_200E_202B_206C_200B_200C_202A_206D_202E((object)stringBuilder);
|
||||
case 1:
|
||||
_200D_206E_202C_200F_200C_200E_202A_202E_202A_206C_206E_202E_206B_200B_206A_200B_206F_206E_202C_206C_200E_206E_206A_206B_202B_206A_206A_206B_206D_202C_206F_202A_202A_202B_200D_206A_206C_206F_202D_206D_202E(stringBuilder, ' ');
|
||||
num = 956238306;
|
||||
break;
|
||||
case 2:
|
||||
num = 956238307;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_200B_200F_206C_200C_206F_206B_206A_206B_200E_206E_206A_202B_206D_200E_202A_206E_202C_202D_200B_200F_200B_202E_202D_206A_206F_200F_202E_202E_202E_200E_200C_206D_202E_206E_200E_206E_206E_202E_202A_206B_202E();
|
||||
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-1487307401));
|
||||
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, DestStandRowId.ToString());
|
||||
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-418458906));
|
||||
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, Fare.ToString());
|
||||
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-568235594));
|
||||
_200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(builder, TimeRequiredSeconds.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(TaxiRoute? other)
|
||||
{
|
||||
int num = (((object)this == other) ? 1209102583 : 1209102576);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1209102581;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 1:
|
||||
return false;
|
||||
case 5:
|
||||
num = (((object)other == null) ? 1209102580 : 1209102582);
|
||||
break;
|
||||
case 0:
|
||||
num = ((!EqualityComparer<int>.Default.Equals(Fare, other.Fare)) ? 1209102580 : 1209102578);
|
||||
break;
|
||||
case 6:
|
||||
num = ((!EqualityComparer<uint>.Default.Equals(DestStandRowId, other.DestStandRowId)) ? 1209102580 : 1209102581);
|
||||
break;
|
||||
case 4:
|
||||
num = 1209102576;
|
||||
break;
|
||||
case 7:
|
||||
return EqualityComparer<int>.Default.Equals(TimeRequiredSeconds, other.TimeRequiredSeconds);
|
||||
case 2:
|
||||
return true;
|
||||
case 3:
|
||||
num = ((!_200D_202A_200B_206A_200B_200B_206F_206C_206B_206C_200F_200F_202D_206C_202A_206D_200D_200F_200E_200D_200C_206C_206A_200F_202D_206B_202D_200F_206B_206F_200C_202A_206C_202B_206A_202E_206C_206F_200E_202D_202E(EqualityContract, other.EqualityContract)) ? 1209102580 : 1209102579);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<TaxiRoute>.Equals(TaxiRoute? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _202E_206D_200F_202E_206E_200B_202C_200C_202C_200F_200C_206C_206A_206C_202E_200C_200B_206E_206B_200B_202A_206B_200C_206A_200E_202D_200F_200F_202B_206F_206A_206B_206B_202A_206E_206A_206D_200B_200C_202D_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder _206D_206A_206B_202D_200E_206E_200E_200B_200E_206C_206B_200B_206E_202B_200D_206E_206A_206F_202E_206B_206E_202B_206B_206A_206F_200B_200B_202B_206E_206C_200E_202C_200B_206F_206D_200B_206C_202E_202C_202A_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _200B_206E_206B_202C_202B_202B_200E_202C_202B_206E_202A_200B_206A_202B_202D_206C_202B_202E_206E_200D_206B_206A_206C_200C_202B_202E_200B_200F_202C_200F_200F_200F_206F_206D_206F_206B_206E_202E_200C_206C_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _200D_206E_202C_200F_200C_200E_202A_202E_202A_206C_206E_202E_206B_200B_206A_200B_206F_206E_202C_206C_200E_206E_206A_206B_202B_206A_206A_206B_206D_202C_206F_202A_202A_202B_200D_206A_206C_206F_202D_206D_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _200F_200F_202E_202B_202A_206A_206D_200E_202B_206C_200E_206C_202D_200C_202B_202D_202E_206C_206A_200F_200B_206C_206B_206F_202D_206E_206F_202D_202B_202E_200B_200C_206E_200E_202B_206C_200B_200C_202A_206D_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static void _200B_200F_206C_200C_206F_206B_206A_206B_200E_206E_206A_202B_206D_200E_202A_206E_202C_202D_200B_200F_200B_202E_202D_206A_206F_200F_202E_202E_202E_200E_200C_206D_202E_206E_200E_206E_206E_202E_202A_206B_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static bool _200D_202A_200B_206A_200B_200B_206F_206C_206B_206C_200F_200F_202D_206C_202A_206D_200D_200F_200E_200D_200C_206C_206A_200F_202D_206B_202D_200F_206B_206F_200C_202A_206C_202B_206A_202E_206C_206F_200E_202D_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
public IReadOnlyDictionary<uint, TaxiStandInfo> Stands { get; }
|
||||
|
||||
public IReadOnlyDictionary<uint, TaxiStandInfo> StandsByNpcDataId { get; }
|
||||
|
||||
public int TotalStands { get; }
|
||||
|
||||
public int TotalRoutes { get; }
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public TaxiStandDataService(IDataManager dataManager, SmartNavDataOptions dataOptions, ILogger<TaxiStandDataService> logger)
|
||||
{
|
||||
DirectoryInfo? devSourceDirectory = dataOptions.DevSourceDirectory;
|
||||
IReadOnlyList<TaxiStandEntry> readOnlyList = _200B_202B_202B_206B_202E_202D_206E_202D_200F_206F_200C_206D_202E_200B_202A_200F_200B_206F_200D_200C_200D_206B_202E_206D_206B_202A_206E_202D_200C_206C_202A_202A_202A_206B_200C_200E_202E_200D_202C_202E_202E((devSourceDirectory != null) ? _200D_202C_206E_202D_202C_206B_206C_200E_200D_200C_200F_200B_206B_202C_202C_200F_200E_206D_200E_200D_206D_200D_200D_200B_206D_202A_202E_206D_200B_200B_200B_202A_206B_206D_206D_200F_200E_206B_200E_206C_202E((FileSystemInfo)devSourceDirectory) : null);
|
||||
Dictionary<uint, TaxiStandEntry> dictionary = new Dictionary<uint, TaxiStandEntry>();
|
||||
IEnumerator<TaxiStandEntry> enumerator = readOnlyList.GetEnumerator();
|
||||
try
|
||||
{
|
||||
while (_202A_200C_206F_200D_206A_202A_206F_206B_200D_202E_202C_200F_206B_206C_200D_206F_202D_206D_206F_206A_202B_200C_202E_206B_200C_202D_200B_202C_200F_200D_200E_206F_200B_206C_206A_202D_206F_200E_200C_202C_202E((IEnumerator)enumerator))
|
||||
{
|
||||
TaxiStandEntry current = enumerator.Current;
|
||||
dictionary[_206F_202E_200E_200E_206A_206C_202E_202A_206B_202D_206A_200F_206D_206C_206B_200B_206D_202A_200B_200D_206B_206A_206B_202B_200F_202C_200D_206D_202C_200C_206B_202C_206D_202E_206C_206F_206E_206B_200B_206B_202E(current)] = current;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (enumerator != null)
|
||||
{
|
||||
_202A_202D_206F_206B_206A_206E_202D_202A_206E_206C_200B_200E_200E_206A_202D_202E_206C_202A_206D_200F_200E_202A_200C_202D_202B_206E_206D_206C_200B_200D_206D_200F_200D_200C_200E_200B_200F_200B_206D_202B_202E((IDisposable)enumerator);
|
||||
}
|
||||
}
|
||||
Dictionary<uint, TaxiStandInfo> dictionary2 = new Dictionary<uint, TaxiStandInfo>();
|
||||
int num = 0;
|
||||
ExcelSheet<ChocoboTaxiStand> excelSheet = dataManager.GetExcelSheet<ChocoboTaxiStand>();
|
||||
foreach (var (num3, taxiStandEntry2) in dictionary)
|
||||
{
|
||||
if (!excelSheet.HasRow(num3))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ChocoboTaxiStand row = excelSheet.GetRow(num3);
|
||||
string text = row.PlaceName.ToString();
|
||||
if (_206C_200B_202E_206C_206D_206C_200C_206C_200D_206F_202E_202A_206F_202C_202B_202B_202A_200C_200B_202B_200F_200C_202B_202C_202D_206E_200B_206B_200C_206A_202C_206D_200E_206D_200C_206A_206D_206E_202C_202E(text))
|
||||
{
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(12, 1);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E<string>(1902166363));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(num3, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-2030066311));
|
||||
text = defaultInterpolatedStringHandler.ToStringAndClear();
|
||||
}
|
||||
List<TaxiRoute> list = new List<TaxiRoute>();
|
||||
int num4 = 0;
|
||||
while (num4 < 8)
|
||||
{
|
||||
ChocoboTaxi? valueNullable = row.TargetLocations[num4].ValueNullable;
|
||||
if (valueNullable.HasValue && valueNullable.Value.TimeRequired != 0)
|
||||
{
|
||||
uint rowId = valueNullable.Value.Location.RowId;
|
||||
if (rowId != 0)
|
||||
{
|
||||
list.Add(new TaxiRoute(rowId, valueNullable.Value.Fare, valueNullable.Value.TimeRequired * 60));
|
||||
}
|
||||
}
|
||||
int num5 = num4;
|
||||
int num6 = 1;
|
||||
int num7 = num5;
|
||||
num4 = (num7 | num6) + (num7 & num6);
|
||||
}
|
||||
num += list.Count;
|
||||
dictionary2[num3] = new TaxiStandInfo(num3, text, _202B_206C_202A_206A_206B_206E_206E_200B_206A_200C_200D_202A_206B_206E_202C_202C_202C_206A_200E_202D_206F_206A_206F_202E_206E_200F_202B_200E_200F_200E_200D_202E_202A_200E_200E_206E_206D_206E_200D_202C_202E(taxiStandEntry2), _206E_206F_200F_206B_202E_202B_202D_206A_202C_200E_206B_200D_200F_200C_202D_200D_202A_202C_200E_200E_206F_200F_200B_200B_206E_206D_206F_202B_206C_200E_206A_202B_206C_200B_202A_200E_202B_202B_202E_202A_202E(taxiStandEntry2), _202A_206A_200F_206B_206A_202E_206B_202D_200E_200C_202A_200E_202E_200D_202E_200B_206B_206F_206A_202E_202B_202E_206E_202E_202A_200F_202C_200B_202D_206A_202E_202E_200F_202A_206C_200F_200E_206F_202C_202E(taxiStandEntry2), list.ToArray());
|
||||
}
|
||||
Stands = dictionary2;
|
||||
StandsByNpcDataId = dictionary2.Values.ToDictionary((TaxiStandInfo s) => s.NpcDataId, (TaxiStandInfo s) => s);
|
||||
TotalStands = dictionary2.Count;
|
||||
TotalRoutes = num;
|
||||
_206C_200C_202E_200C_200F_206B_200B_206C_200E_202D_200F_200E_206B_202D_202B_200F_200C_206B_202C_200B_206D_200B_202A_206D_202E_206A_206F_206F_200F_202C_200F_202D_202B_206A_200E_206E_200E_206A_202E_200C_202E((ILogger)logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(863793575), new object[2] { TotalStands, TotalRoutes });
|
||||
}
|
||||
|
||||
static string _200D_202C_206E_202D_202C_206B_206C_200E_200D_200C_200F_200B_206B_202C_202C_200F_200E_206D_200E_200D_206D_200D_200D_200B_206D_202A_202E_206D_200B_200B_200B_202A_206B_206D_206D_200F_200E_206B_200E_206C_202E(FileSystemInfo P_0)
|
||||
{
|
||||
return P_0.FullName;
|
||||
}
|
||||
|
||||
static IReadOnlyList<TaxiStandEntry> _200B_202B_202B_206B_202E_202D_206E_202D_200F_206F_200C_206D_202E_200B_202A_200F_200B_206F_200D_200C_200D_206B_202E_206D_206B_202A_206E_202D_200C_206C_202A_202A_202A_206B_200C_200E_202E_200D_202C_202E_202E(string P_0)
|
||||
{
|
||||
return AssemblyTaxiStandLoader.GetStands(P_0);
|
||||
}
|
||||
|
||||
static uint _206F_202E_200E_200E_206A_206C_202E_202A_206B_202D_206A_200F_206D_206C_206B_200B_206D_202A_200B_200D_206B_206A_206B_202B_200F_202C_200D_206D_202C_200C_206B_202C_206D_202E_206C_206F_206E_206B_200B_206B_202E(TaxiStandEntry P_0)
|
||||
{
|
||||
return P_0.ChocoboTaxiStandId;
|
||||
}
|
||||
|
||||
static bool _202A_200C_206F_200D_206A_202A_206F_206B_200D_202E_202C_200F_206B_206C_200D_206F_202D_206D_206F_206A_202B_200C_202E_206B_200C_202D_200B_202C_200F_200D_200E_206F_200B_206C_206A_202D_206F_200E_200C_202C_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _202A_202D_206F_206B_206A_206E_202D_202A_206E_206C_200B_200E_200E_206A_202D_202E_206C_202A_206D_200F_200E_202A_200C_202D_202B_206E_206D_206C_200B_200D_206D_200F_200D_200C_200E_200B_200F_200B_206D_202B_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static bool _206C_200B_202E_206C_206D_206C_200C_206C_200D_206F_202E_202A_206F_202C_202B_202B_202A_200C_200B_202B_200F_200C_202B_202C_202D_206E_200B_206B_200C_206A_202C_206D_200E_206D_200C_206A_206D_206E_202C_202E(string P_0)
|
||||
{
|
||||
return string.IsNullOrEmpty(P_0);
|
||||
}
|
||||
|
||||
static ushort _202B_206C_202A_206A_206B_206E_206E_200B_206A_200C_200D_202A_206B_206E_202C_202C_202C_206A_200E_202D_206F_206A_206F_202E_206E_200F_202B_200E_200F_200E_200D_202E_202A_200E_200E_206E_206D_206E_200D_202C_202E(TaxiStandEntry P_0)
|
||||
{
|
||||
return P_0.TerritoryId;
|
||||
}
|
||||
|
||||
static Vector3 _206E_206F_200F_206B_202E_202B_202D_206A_202C_200E_206B_200D_200F_200C_202D_200D_202A_202C_200E_200E_206F_200F_200B_200B_206E_206D_206F_202B_206C_200E_206A_202B_206C_200B_202A_200E_202B_202B_202E_202A_202E(TaxiStandEntry P_0)
|
||||
{
|
||||
return P_0.Location;
|
||||
}
|
||||
|
||||
static uint _202A_206A_200F_206B_206A_202E_206B_202D_200E_200C_202A_200E_202E_200D_202E_200B_206B_206F_206A_202E_202B_202E_206E_202E_202A_200F_202C_200B_202D_206A_202E_202E_200F_202A_206C_200F_200E_206F_202C_202E(TaxiStandEntry P_0)
|
||||
{
|
||||
return P_0.Id;
|
||||
}
|
||||
|
||||
static void _206C_200C_202E_200C_200F_206B_200B_206C_200E_202D_200F_200E_206B_202D_202B_200F_200C_206B_202C_200B_206D_200B_202A_206D_202E_206A_206F_206F_200F_202C_200F_202D_202B_206A_200E_206E_200E_206A_202E_200C_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
}
|
||||
686
SmartNav/SmartNav.Data/TeleportTicketService.cs
Normal file
686
SmartNav/SmartNav.Data/TeleportTicketService.cs
Normal file
|
|
@ -0,0 +1,686 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using Dalamud.Plugin.Services;
|
||||
using Lumina.Excel;
|
||||
using Lumina.Excel.Sheets;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SmartNav.Model.Navigation;
|
||||
|
||||
namespace SmartNav.Data;
|
||||
|
||||
public sealed class TeleportTicketService
|
||||
{
|
||||
public sealed record ScannedTicket(uint ItemId, string Name, uint ItemActionRowId, ushort[] ItemActionData)
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _202C_200D_200C_206E_200F_200E_206D_206F_202D_200D_202C_202A_206A_206F_200D_202E_200C_202A_202B_200E_206E_206F_202A_202E_202A_202C_202C_206E_206D_206D_200F_200D_202B_206C_202A_206D_202A_202C_206F_202C_202E(typeof(ScannedTicket).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _206F_200D_202D_202D_200D_202C_206B_202E_200B_202B_206F_206D_200F_206F_200D_202C_206B_206E_206A_202A_206F_202B_206C_202B_206C_206D_202C_206A_200B_202C_202C_202A_206F_206B_202C_206A_202B_206E_206D_206E_202E();
|
||||
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(1489802368));
|
||||
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(stringBuilder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-169322018));
|
||||
int num = ((!PrintMembers(stringBuilder)) ? (-550622530) : (-550622529));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -550622530;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = -550622529;
|
||||
break;
|
||||
case 0:
|
||||
_200C_200F_200F_200C_206D_200C_200B_200D_206C_200D_200D_202D_202D_206C_200D_202B_202B_200B_202C_200E_202D_202A_202B_202D_206E_200C_200E_202E_206A_200D_200E_206C_206F_206D_206E_202E_200F_200B_206C_206C_202E(stringBuilder, '}');
|
||||
return _202B_202E_202A_202B_200F_200F_200C_202B_202C_202B_202A_200C_206B_200C_202C_206E_206A_200B_206D_206D_206E_206D_200F_200F_200E_202C_206A_200D_200E_202A_202B_206A_202B_206A_200D_206F_206C_206B_206E_206D_202E((object)stringBuilder);
|
||||
case 1:
|
||||
_200C_200F_200F_200C_206D_200C_200B_200D_206C_200D_200D_202D_202D_206C_200D_202B_202B_200B_202C_200E_202D_202A_202B_202D_206E_200C_200E_202E_206A_200D_200E_206C_206F_206D_206E_202E_200F_200B_206C_206C_202E(stringBuilder, ' ');
|
||||
num = -550622530;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_200E_202B_206A_206B_202E_200D_206D_206A_202C_200E_206F_202C_206D_202E_206F_202C_206D_202E_206E_206F_202A_206D_206A_206C_202D_202E_200D_206D_202B_202C_202E_206D_200B_206E_200C_206C_202E_200C_202D_200D_202E();
|
||||
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(825996996));
|
||||
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, ItemId.ToString());
|
||||
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-710038733));
|
||||
_206E_202A_202C_206A_202E_202A_206C_200E_202E_200F_202D_206E_200F_200B_206B_206A_200D_200B_200B_200E_206C_202A_206F_206E_206F_206C_202E_202E_202A_200D_206F_206C_200C_202B_202E_200E_202E_202E_206D_206B_202E(builder, (object)Name);
|
||||
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-297009185));
|
||||
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, ItemActionRowId.ToString());
|
||||
_200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(539792921));
|
||||
_206E_202A_202C_206A_202E_202A_206C_200E_202E_200F_202D_206E_200F_200B_206B_206A_200D_200B_200B_200E_206C_202A_206F_206E_206F_206C_202E_202E_202A_200D_206F_206C_200C_202B_202E_200E_202E_202E_206D_206B_202E(builder, (object)ItemActionData);
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(ScannedTicket? other)
|
||||
{
|
||||
int num = (((object)this == other) ? 1004047218 : 1004047227);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1004047226;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 5:
|
||||
num = ((!EqualityComparer<uint>.Default.Equals(ItemActionRowId, other.ItemActionRowId)) ? 1004047225 : 1004047230);
|
||||
break;
|
||||
case 3:
|
||||
return false;
|
||||
case 7:
|
||||
num = 1004047227;
|
||||
break;
|
||||
case 8:
|
||||
return true;
|
||||
case 0:
|
||||
num = ((!_202D_200D_202B_206C_202D_206C_206D_202B_202C_206B_206C_202E_206B_200E_206C_202C_202D_202B_206D_202A_200D_200B_202C_200D_200B_200D_206A_206A_202C_206E_202C_200E_206A_206B_200D_202B_206F_202A_200C_206F_202E(EqualityContract, other.EqualityContract)) ? 1004047225 : 1004047228);
|
||||
break;
|
||||
case 4:
|
||||
return EqualityComparer<ushort[]>.Default.Equals(ItemActionData, other.ItemActionData);
|
||||
case 2:
|
||||
num = ((!EqualityComparer<string>.Default.Equals(Name, other.Name)) ? 1004047225 : 1004047231);
|
||||
break;
|
||||
case 1:
|
||||
num = (((object)other == null) ? 1004047225 : 1004047226);
|
||||
break;
|
||||
case 6:
|
||||
num = ((!EqualityComparer<uint>.Default.Equals(ItemId, other.ItemId)) ? 1004047225 : 1004047224);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<ScannedTicket>.Equals(ScannedTicket? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _202C_200D_200C_206E_200F_200E_206D_206F_202D_200D_202C_202A_206A_206F_200D_202E_200C_202A_202B_200E_206E_206F_202A_202E_202A_202C_202C_206E_206D_206D_200F_200D_202B_206C_202A_206D_202A_202C_206F_202C_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder _206F_200D_202D_202D_200D_202C_206B_202E_200B_202B_206F_206D_200F_206F_200D_202C_206B_206E_206A_202A_206F_202B_206C_202B_206C_206D_202C_206A_200B_202C_202C_202A_206F_206B_202C_206A_202B_206E_206D_206E_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _200D_206B_200F_206E_206E_202A_202E_206E_206E_206A_200E_202D_200B_200C_202A_206C_202D_206D_202C_200C_206D_202B_206B_200D_200E_200C_202A_206C_202C_200D_202A_202C_200D_202E_206A_206B_202E_206B_200C_206C_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _200C_200F_200F_200C_206D_200C_200B_200D_206C_200D_200D_202D_202D_206C_200D_202B_202B_200B_202C_200E_202D_202A_202B_202D_206E_200C_200E_202E_206A_200D_200E_206C_206F_206D_206E_202E_200F_200B_206C_206C_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _202B_202E_202A_202B_200F_200F_200C_202B_202C_202B_202A_200C_206B_200C_202C_206E_206A_200B_206D_206D_206E_206D_200F_200F_200E_202C_206A_200D_200E_202A_202B_206A_202B_206A_200D_206F_206C_206B_206E_206D_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static void _200E_202B_206A_206B_202E_200D_206D_206A_202C_200E_206F_202C_206D_202E_206F_202C_206D_202E_206E_206F_202A_206D_206A_206C_202D_202E_200D_206D_202B_202C_202E_206D_200B_206E_200C_206C_202E_200C_202D_200D_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder _206E_202A_202C_206A_202E_202A_206C_200E_202E_200F_202D_206E_200F_200B_206B_206A_200D_200B_200B_200E_206C_202A_206F_206E_206F_206C_202E_202E_202A_200D_206F_206C_200C_202B_202E_200E_202E_202E_206D_206B_202E(StringBuilder P_0, object P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _202D_200D_202B_206C_202D_206C_206D_202B_202C_206B_206C_202E_206B_200E_206C_202C_202D_202B_206D_202A_200D_200B_202C_200D_200B_200D_206A_206A_202C_206E_202C_200E_206A_206B_200D_202B_206F_202A_200C_206F_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
public sealed record TeleportTicket(uint ItemId, string Name, ushort TerritoryId, Vector3 Position, byte RequiredGrandCompany = 0, uint RequiredQuestId = 0u)
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _206D_206F_206B_200F_206E_200E_206D_200D_202D_202C_200C_202A_202E_206D_200C_206B_206C_202B_202D_200D_200F_200C_202A_202A_200C_200C_200D_200C_202C_202C_202C_202A_206C_206D_200D_202D_200B_202D_202A_202E(typeof(TeleportTicket).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _202A_202E_206D_206B_202C_200E_202D_202D_206D_202B_206B_206D_202B_206E_200F_202B_206E_206B_206F_206C_200C_200F_202B_206F_200D_206E_206A_202A_200C_202A_206E_206F_202E_200C_206B_200C_202D_202A_202E_202C_202E();
|
||||
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-657525992));
|
||||
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(stringBuilder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(1120247710));
|
||||
int num = ((!PrintMembers(stringBuilder)) ? 1884459870 : 1884459871);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1884459870;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = 1884459871;
|
||||
break;
|
||||
case 1:
|
||||
_202B_206C_206B_202D_206E_200C_206E_200C_200C_200E_202A_206C_206E_200C_202D_206D_206B_206A_202E_202C_202E_202D_200E_206C_200F_202D_202B_206E_206B_206E_200F_200B_206C_202D_200E_206B_206A_202A_206F_200D_202E(stringBuilder, ' ');
|
||||
num = 1884459870;
|
||||
break;
|
||||
case 0:
|
||||
_202B_206C_206B_202D_206E_200C_206E_200C_200C_200E_202A_206C_206E_200C_202D_206D_206B_206A_202E_202C_202E_202D_200E_206C_200F_202D_202B_206E_206B_206E_200F_200B_206C_202D_200E_206B_206A_202A_206F_200D_202E(stringBuilder, '}');
|
||||
return _202C_200F_206F_200B_206D_202D_202E_200B_202D_202C_200B_202A_206A_206A_202C_200D_206A_206E_206A_202D_202E_206E_206E_200C_200B_200B_202B_206A_206C_202B_200F_206F_200F_206F_202E_206B_200C_206F_200F_206B_202E((object)stringBuilder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_200B_202C_202C_200C_200C_206E_202E_202C_202E_206B_200B_200D_202E_206C_202E_200B_200E_202C_206A_200E_206E_206A_206D_200B_202C_200C_206C_206D_206A_202B_202B_200B_200C_200D_202A_206E_200D_202B_206C_200C_202E();
|
||||
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-625074920));
|
||||
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, ItemId.ToString());
|
||||
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(844509483));
|
||||
_200E_206A_202E_200F_202C_200D_202A_202D_206D_206C_202E_200B_200E_200E_206C_202D_202B_206B_206E_202A_202A_202D_200D_202C_200B_206D_202B_206F_206C_200B_200E_206C_206A_206F_202E_202A_206F_202D_200E_206C_202E(builder, (object)Name);
|
||||
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-1370916953));
|
||||
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, TerritoryId.ToString());
|
||||
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-1811452076));
|
||||
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, Position.ToString());
|
||||
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-772128166));
|
||||
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, RequiredGrandCompany.ToString());
|
||||
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(1957211680));
|
||||
_202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(builder, RequiredQuestId.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(TeleportTicket? other)
|
||||
{
|
||||
int num = (((object)this == other) ? 1321105694 : 1321105681);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1321105684;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 3:
|
||||
num = ((!EqualityComparer<byte>.Default.Equals(RequiredGrandCompany, other.RequiredGrandCompany)) ? 1321105686 : 1321105685);
|
||||
break;
|
||||
case 5:
|
||||
num = (((object)other == null) ? 1321105686 : 1321105693);
|
||||
break;
|
||||
case 8:
|
||||
num = ((!EqualityComparer<Vector3>.Default.Equals(Position, other.Position)) ? 1321105686 : 1321105687);
|
||||
break;
|
||||
case 9:
|
||||
num = ((!_200E_202B_200F_206F_200C_200D_200E_200F_206A_200D_202D_206A_206A_202E_202E_202D_206A_202A_200B_200F_200F_202A_200B_206A_206F_206C_200F_200C_206A_206B_202D_200F_200C_200C_206F_200B_206B_202D_202B_206C_202E(EqualityContract, other.EqualityContract)) ? 1321105686 : 1321105680);
|
||||
break;
|
||||
case 7:
|
||||
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? 1321105686 : 1321105692);
|
||||
break;
|
||||
case 1:
|
||||
return EqualityComparer<uint>.Default.Equals(RequiredQuestId, other.RequiredQuestId);
|
||||
case 6:
|
||||
num = ((!EqualityComparer<string>.Default.Equals(Name, other.Name)) ? 1321105686 : 1321105683);
|
||||
break;
|
||||
case 0:
|
||||
num = 1321105681;
|
||||
break;
|
||||
case 10:
|
||||
return true;
|
||||
case 2:
|
||||
return false;
|
||||
case 4:
|
||||
num = ((!EqualityComparer<uint>.Default.Equals(ItemId, other.ItemId)) ? 1321105686 : 1321105682);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<TeleportTicket>.Equals(TeleportTicket? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _206D_206F_206B_200F_206E_200E_206D_200D_202D_202C_200C_202A_202E_206D_200C_206B_206C_202B_202D_200D_200F_200C_202A_202A_200C_200C_200D_200C_202C_202C_202C_202A_206C_206D_200D_202D_200B_202D_202A_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder _202A_202E_206D_206B_202C_200E_202D_202D_206D_202B_206B_206D_202B_206E_200F_202B_206E_206B_206F_206C_200C_200F_202B_206F_200D_206E_206A_202A_200C_202A_206E_206F_202E_200C_206B_200C_202D_202A_202E_202C_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _202A_200B_200F_206C_206C_200D_206B_200E_206C_206F_202B_200F_206B_206F_202C_202B_202E_206D_202B_206C_202A_206E_200C_202D_202C_202C_200C_200B_206F_206B_206D_200B_200F_206E_200F_206A_202E_206E_206A_200F_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _202B_206C_206B_202D_206E_200C_206E_200C_200C_200E_202A_206C_206E_200C_202D_206D_206B_206A_202E_202C_202E_202D_200E_206C_200F_202D_202B_206E_206B_206E_200F_200B_206C_202D_200E_206B_206A_202A_206F_200D_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _202C_200F_206F_200B_206D_202D_202E_200B_202D_202C_200B_202A_206A_206A_202C_200D_206A_206E_206A_202D_202E_206E_206E_200C_200B_200B_202B_206A_206C_202B_200F_206F_200F_206F_202E_206B_200C_206F_200F_206B_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static void _200B_202C_202C_200C_200C_206E_202E_202C_202E_206B_200B_200D_202E_206C_202E_200B_200E_202C_206A_200E_206E_206A_206D_200B_202C_200C_206C_206D_206A_202B_202B_200B_200C_200D_202A_206E_200D_202B_206C_200C_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static StringBuilder _200E_206A_202E_200F_202C_200D_202A_202D_206D_206C_202E_200B_200E_200E_206C_202D_202B_206B_206E_202A_202A_202D_200D_202C_200B_206D_202B_206F_206C_200B_200E_206C_206A_206F_202E_202A_206F_202D_200E_206C_202E(StringBuilder P_0, object P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static bool _200E_202B_200F_206F_200C_200D_200E_200F_206A_200D_202D_206A_206A_202E_202E_202D_206A_202A_200B_200F_200F_202A_200B_206A_206F_206C_200F_200C_206A_206B_202D_200F_200C_200C_206F_200B_206B_202D_202B_206C_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
private static readonly uint[] KnownTicketItemIds;
|
||||
|
||||
public IReadOnlyList<ScannedTicket> ScannedTickets { get; }
|
||||
|
||||
public IReadOnlyList<TeleportTicket> Tickets { get; }
|
||||
|
||||
internal TeleportTicketService(List<TeleportTicket> tickets)
|
||||
{
|
||||
ScannedTickets = Array.Empty<ScannedTicket>();
|
||||
Tickets = tickets;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public TeleportTicketService(IDataManager dataManager, SmartNavDataOptions dataOptions, ILogger<TeleportTicketService> logger)
|
||||
{
|
||||
ScannedTickets = ScanTicketItems(dataManager, logger);
|
||||
Dictionary<uint, (ushort, Vector3)> dictionary = new Dictionary<uint, (ushort, Vector3)>();
|
||||
DirectoryInfo? devSourceDirectory = dataOptions.DevSourceDirectory;
|
||||
IEnumerator<TeleportTicketEntry> enumerator = _206D_206F_206E_206F_200C_200B_202C_200C_200C_206D_200F_206B_202D_202C_206F_200C_202B_206C_202A_202A_206E_200C_202C_200E_202C_206A_206E_202C_200C_200E_200F_206D_200C_202B_206F_206D_200E_202D_200F_202A_202E((devSourceDirectory != null) ? _206C_206F_200C_202C_206B_202A_200B_202A_206F_206F_200D_206D_206F_202C_200F_200C_200B_206A_206D_206E_202D_200E_206C_200C_200E_200B_202E_206D_200D_202E_206D_206F_200E_200D_206B_206E_206A_200B_202E_206C_202E((FileSystemInfo)devSourceDirectory) : null).Values.GetEnumerator();
|
||||
try
|
||||
{
|
||||
while (_206D_206B_206F_206A_206A_200B_202C_202E_206E_202C_200B_200E_202D_206C_200B_200C_202D_206D_206A_200E_202C_206D_206D_206F_206C_200F_206D_200E_206F_206B_206E_202E_206F_206A_202A_200F_200D_202D_202D_200E_202E((IEnumerator)enumerator))
|
||||
{
|
||||
TeleportTicketEntry current = enumerator.Current;
|
||||
ApplyEntry(dictionary, current);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (enumerator != null)
|
||||
{
|
||||
_200B_200C_200D_202C_200C_202A_202A_200F_200F_202A_200D_200C_202E_200D_202E_200B_206A_202E_200C_200D_202C_206C_202B_200C_200D_202C_206E_202C_202E_206B_200F_206C_202A_202D_202B_202C_202C_206D_202D_206C_202E((IDisposable)enumerator);
|
||||
}
|
||||
}
|
||||
if (dataOptions.UserOverrideDirectory != null)
|
||||
{
|
||||
LoadDestinationsFrom(_200D_206A_206D_206A_206C_202C_200E_206D_206C_206F_200C_200D_206A_202B_202C_200C_202A_200B_202B_200E_206F_206A_206B_200B_202E_200E_200C_200D_200C_202D_202C_202C_202A_200E_202E_200E_200D_206A_202B_200C_202E(_206C_206F_200C_202C_206B_202A_200B_202A_206F_206F_200D_206D_206F_202C_200F_200C_200B_206A_206D_206E_202D_200E_206C_200C_200E_200B_202E_206D_200D_202E_206D_206F_200E_200D_206B_206E_206A_200B_202E_206C_202E((FileSystemInfo)dataOptions.UserOverrideDirectory), global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-214131285)), dictionary, logger);
|
||||
}
|
||||
ExcelSheet<ItemActionTelepo> excelSheet = dataManager.GetExcelSheet<ItemActionTelepo>();
|
||||
List<TeleportTicket> list = new List<TeleportTicket>();
|
||||
IEnumerator<ScannedTicket> enumerator2 = ScannedTickets.GetEnumerator();
|
||||
try
|
||||
{
|
||||
while (_206D_206B_206F_206A_206A_200B_202C_202E_206E_202C_200B_200E_202D_206C_200B_200C_202D_206D_206A_200E_202C_206D_206D_206F_206C_200F_206D_200E_206F_206B_206E_202E_206F_206A_202A_200F_200D_202D_202D_200E_202E((IEnumerator)enumerator2))
|
||||
{
|
||||
ScannedTicket current2 = enumerator2.Current;
|
||||
if (!dictionary.TryGetValue(current2.ItemId, out var value))
|
||||
{
|
||||
_206B_206F_200D_206E_202B_202E_206A_200F_202A_206C_206F_202A_200F_206D_206A_202D_206C_202C_202E_206B_206F_202E_206F_206D_202A_200F_200F_200E_206D_206A_202E_206C_206D_202C_200F_200F_206F_206D_200F_202C_202E((ILogger)logger, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-1318998580), new object[2] { current2.ItemId, current2.Name });
|
||||
}
|
||||
else
|
||||
{
|
||||
uint num = excelSheet.GetRowOrDefault(current2.ItemActionData[0])?.Requirement.RowId ?? 0;
|
||||
list.Add(new TeleportTicket(current2.ItemId, current2.Name, value.Item1, value.Item2, (byte)((num >= 1 && num <= 3) ? ((byte)num) : 0), (num >= 65536) ? num : 0u));
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (enumerator2 != null)
|
||||
{
|
||||
_200B_200C_200D_202C_200C_202A_202A_200F_200F_202A_200D_200C_202E_200D_202E_200B_206A_202E_200C_200D_202C_206C_202B_200C_200D_202C_206E_202C_202E_206B_200F_206C_202A_202D_202B_202C_202C_206D_202D_206C_202E((IDisposable)enumerator2);
|
||||
}
|
||||
}
|
||||
Tickets = list;
|
||||
_206A_206C_206C_202C_202C_206E_202C_206F_202C_200F_200F_206F_206B_206F_200E_202C_200D_200E_206A_206E_200B_200D_206B_206D_200D_202C_206A_202C_200B_206E_200D_202B_202E_206C_206A_200F_202C_202E_206C_206E_202E((ILogger)logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-1282340065), new object[2] { ScannedTickets.Count, list.Count });
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private static List<ScannedTicket> ScanTicketItems(IDataManager dataManager, ILogger logger)
|
||||
{
|
||||
ExcelSheet<Item> excelSheet = dataManager.GetExcelSheet<Item>();
|
||||
uint? num = null;
|
||||
uint[] knownTicketItemIds = KnownTicketItemIds;
|
||||
int num2 = 0;
|
||||
int num3 = -2085150822;
|
||||
List<ScannedTicket> list = default(List<ScannedTicket>);
|
||||
ItemAction? itemAction = default(ItemAction?);
|
||||
Item current = default(Item);
|
||||
string text = default(string);
|
||||
ItemAction? valueNullable = default(ItemAction?);
|
||||
while (true)
|
||||
{
|
||||
int num4 = num3;
|
||||
int num5 = -2085150820;
|
||||
int num6 = num4;
|
||||
int num7 = num6 + num5;
|
||||
int num8 = num6 & num5;
|
||||
switch (num7 - (num8 + num8))
|
||||
{
|
||||
case 5:
|
||||
_206B_202B_206F_200B_206A_200D_206D_200D_206E_202A_206A_202B_202E_202D_200C_206F_200C_200D_202A_202B_200B_206F_200D_206C_206B_206B_202B_202D_206F_202A_202A_200C_200C_206F_206B_206F_202A_206E_200B_200F_202E(logger, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(258108496), Array.Empty<object>());
|
||||
return list;
|
||||
case 1:
|
||||
{
|
||||
int num12 = num2;
|
||||
num5 = 1;
|
||||
num6 = num12;
|
||||
int num13 = num6 ^ num5;
|
||||
int num14 = num6 & num5;
|
||||
num2 = num13 + (num14 + num14);
|
||||
num3 = -2085150822;
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
num3 = ((num2 < knownTicketItemIds.Length) ? (-2085150821) : (-2085150824));
|
||||
break;
|
||||
case 7:
|
||||
{
|
||||
uint rowId = knownTicketItemIds[num2];
|
||||
itemAction = excelSheet.GetRowOrDefault(rowId)?.ItemAction.ValueNullable;
|
||||
num3 = ((!itemAction.HasValue) ? (-2085150819) : (-2085150820));
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
num3 = -2085150822;
|
||||
break;
|
||||
case 4:
|
||||
list = new List<ScannedTicket>();
|
||||
num3 = (num.HasValue ? (-2085150817) : (-2085150823));
|
||||
break;
|
||||
case 0:
|
||||
num = itemAction.Value.Action.RowId;
|
||||
num3 = -2085150824;
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
using (ExcelSheet<Item>.Enumerator enumerator = excelSheet.GetEnumerator())
|
||||
{
|
||||
num3 = -1333025980;
|
||||
while (true)
|
||||
{
|
||||
int num9 = num3;
|
||||
num5 = -1333025980;
|
||||
num6 = num9;
|
||||
int num10 = num6 + num5;
|
||||
int num11 = num6 & num5;
|
||||
switch (num10 - (num11 + num11))
|
||||
{
|
||||
case 6:
|
||||
list.Add(new ScannedTicket(current.RowId, text, valueNullable.Value.RowId, new ushort[3]
|
||||
{
|
||||
valueNullable.Value.Data[0],
|
||||
valueNullable.Value.Data[1],
|
||||
valueNullable.Value.Data[2]
|
||||
}));
|
||||
num3 = -1333025980;
|
||||
break;
|
||||
case 4:
|
||||
text = current.Name.ExtractText();
|
||||
num3 = (_206A_200B_200F_202E_202C_202B_206A_202B_206F_206D_206A_202E_206E_200F_200E_206F_206E_206E_206C_206E_202B_206E_206C_202B_202A_206D_200E_200F_200B_200F_200C_200B_206C_200C_206A_200D_206D_206D_202E_206D_202E(text) ? (-1333025980) : (-1333025982));
|
||||
break;
|
||||
case 2:
|
||||
num3 = ((valueNullable.Value.Action.RowId != num) ? (-1333025980) : (-1333025984));
|
||||
break;
|
||||
case 3:
|
||||
current = enumerator.Current;
|
||||
num3 = ((current.RowId == 0) ? (-1333025980) : (-1333025979));
|
||||
break;
|
||||
case 0:
|
||||
num3 = (enumerator.MoveNext() ? (-1333025977) : (-1333025981));
|
||||
break;
|
||||
case 5:
|
||||
num3 = -1333025980;
|
||||
break;
|
||||
case 1:
|
||||
valueNullable = current.ItemAction.ValueNullable;
|
||||
num3 = ((!valueNullable.HasValue) ? (-1333025980) : (-1333025978));
|
||||
break;
|
||||
case 7:
|
||||
goto end_IL_01ae;
|
||||
}
|
||||
continue;
|
||||
end_IL_01ae:
|
||||
break;
|
||||
}
|
||||
}
|
||||
list.Sort((ScannedTicket a, ScannedTicket b) => a.ItemId.CompareTo(b.ItemId));
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void ApplyEntry(Dictionary<uint, (ushort TerritoryId, Vector3 Position)> destinations, TeleportTicketEntry entry)
|
||||
{
|
||||
int num = ((_206A_202A_206E_200E_206B_200E_200D_202C_202D_202A_206D_206B_206A_202C_200C_202E_206A_206D_202B_202A_202A_200E_200E_206A_202D_206A_206D_206A_202B_200C_200D_206C_206D_200C_202D_202A_202A_200E_206B_200E_202E(entry) == 0) ? 1762997114 : 1762997112);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1762997113;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 3:
|
||||
return;
|
||||
case 0:
|
||||
destinations[_206A_202A_206E_200E_206B_200E_200D_202C_202D_202A_206D_206B_206A_202C_200C_202E_206A_206D_202B_202A_202A_200E_200E_206A_202D_206A_206D_206A_202B_200C_200D_206C_206D_200C_202D_202A_202A_200E_206B_200E_202E(entry)] = (_200D_206A_202E_206E_200B_206D_206D_202E_200C_206E_202E_202B_200F_206D_202A_206D_202D_202A_200D_200F_206B_202E_200C_206B_202B_202A_202D_206D_206B_202C_200C_202C_202A_200F_206A_200B_202A_202A_200C_206E_202E(entry), _206C_200B_200F_202B_202A_206E_206C_202C_206A_202E_200C_202D_202A_206E_202C_200F_206A_202E_202A_206F_202D_200B_200E_200B_200C_206D_206A_206C_202A_202A_200E_200D_206C_200E_202A_202A_206B_206A_202A_206D_202E(entry));
|
||||
num = 1762997114;
|
||||
break;
|
||||
case 1:
|
||||
num = ((_200D_206A_202E_206E_200B_206D_206D_202E_200C_206E_202E_202B_200F_206D_202A_206D_202D_202A_200D_200F_206B_202E_200C_206B_202B_202A_202D_206D_206B_202C_200C_202C_202A_200F_206A_200B_202A_202A_200C_206E_202E(entry) <= 0) ? 1762997114 : 1762997113);
|
||||
break;
|
||||
case 2:
|
||||
num = 1762997112;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private static void LoadDestinationsFrom(string path, Dictionary<uint, (ushort TerritoryId, Vector3 Position)> destinations, ILogger logger)
|
||||
{
|
||||
int num = (_200C_200F_206E_202A_206A_202B_200E_202B_202A_202B_202C_202A_200F_206D_202A_200B_200C_200D_200C_202A_206D_206D_200B_206B_200E_200C_202D_200B_200C_202C_202E_206E_200B_200B_202E_206D_206F_206F_200F_202C_202E(path) ? (-1900473582) : (-1900473579));
|
||||
TeleportTicketFile teleportTicketFile = default(TeleportTicketFile);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1900473583;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
num = -1900473579;
|
||||
break;
|
||||
case 0:
|
||||
return;
|
||||
case 3:
|
||||
teleportTicketFile = JsonSerializer.Deserialize<TeleportTicketFile>(_206D_200F_206B_206E_206B_202B_200B_206F_200E_206C_206D_200C_206A_202B_200B_202E_200C_202A_206D_206E_202C_206F_202A_200F_200E_202E_206B_200E_200E_202A_206A_200F_202B_200B_206C_200F_206A_202A_202B_202B_202E(path));
|
||||
num = ((teleportTicketFile != null) ? (-1900473584) : (-1900473583));
|
||||
break;
|
||||
case 4:
|
||||
return;
|
||||
case 1:
|
||||
{
|
||||
using (Dictionary<string, TeleportTicketEntry>.ValueCollection.Enumerator enumerator = _206D_200B_206D_206E_200B_200D_202B_200D_200E_202A_206B_206F_200F_200F_202A_206E_200C_200B_200E_200C_202A_200F_202B_202D_206A_202B_202D_206A_202A_200C_206C_206A_200B_206E_202C_202A_202E_206B_206E_202C_202E(teleportTicketFile).Values.GetEnumerator())
|
||||
{
|
||||
num = -1775010946;
|
||||
while (true)
|
||||
{
|
||||
int num7 = num;
|
||||
num3 = -1775010946;
|
||||
num4 = num7;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = -1775010946;
|
||||
break;
|
||||
case 0:
|
||||
num = (enumerator.MoveNext() ? (-1775010945) : (-1775010947));
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
TeleportTicketEntry current = enumerator.Current;
|
||||
ApplyEntry(destinations, current);
|
||||
num = -1775010946;
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
goto end_IL_00a8;
|
||||
}
|
||||
continue;
|
||||
end_IL_00a8:
|
||||
break;
|
||||
}
|
||||
}
|
||||
_206B_206F_200D_206E_202B_202E_206A_200F_202A_206C_206F_202A_200F_206D_206A_202D_206C_202C_202E_206B_206F_202E_206F_206D_202A_200F_200F_200E_206D_206A_202E_206C_206D_202C_200F_200F_206F_206D_200F_202C_202E(logger, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(1363837168), new object[2]
|
||||
{
|
||||
_206D_200B_206D_206E_200B_200D_202B_200D_200E_202A_206B_206F_200F_200F_202A_206E_200C_200B_200E_200C_202A_200F_202B_202D_206A_202B_202D_206A_202A_200C_206C_206A_200B_206E_202C_202A_202E_206B_206E_202C_202E(teleportTicketFile).Count,
|
||||
path
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static TeleportTicketService()
|
||||
{
|
||||
uint[] array = new uint[5];
|
||||
_200C_202E_200C_202A_202E_202D_202A_200F_206E_202A_206A_200B_206F_200F_202C_202B_206A_202B_200C_200C_200B_206E_202B_202A_206C_206E_206D_202E_200D_202D_200F_206A_206C_200D_202C_206E_200F_206F_206F_202B_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
|
||||
KnownTicketItemIds = array;
|
||||
}
|
||||
|
||||
static string _206C_206F_200C_202C_206B_202A_200B_202A_206F_206F_200D_206D_206F_202C_200F_200C_200B_206A_206D_206E_202D_200E_206C_200C_200E_200B_202E_206D_200D_202E_206D_206F_200E_200D_206B_206E_206A_200B_202E_206C_202E(FileSystemInfo P_0)
|
||||
{
|
||||
return P_0.FullName;
|
||||
}
|
||||
|
||||
static IReadOnlyDictionary<string, TeleportTicketEntry> _206D_206F_206E_206F_200C_200B_202C_200C_200C_206D_200F_206B_202D_202C_206F_200C_202B_206C_202A_202A_206E_200C_202C_200E_202C_206A_206E_202C_200C_200E_200F_206D_200C_202B_206F_206D_200E_202D_200F_202A_202E(string P_0)
|
||||
{
|
||||
return AssemblyTeleportTicketLoader.GetTickets(P_0);
|
||||
}
|
||||
|
||||
static bool _206D_206B_206F_206A_206A_200B_202C_202E_206E_202C_200B_200E_202D_206C_200B_200C_202D_206D_206A_200E_202C_206D_206D_206F_206C_200F_206D_200E_206F_206B_206E_202E_206F_206A_202A_200F_200D_202D_202D_200E_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _200B_200C_200D_202C_200C_202A_202A_200F_200F_202A_200D_200C_202E_200D_202E_200B_206A_202E_200C_200D_202C_206C_202B_200C_200D_202C_206E_202C_202E_206B_200F_206C_202A_202D_202B_202C_202C_206D_202D_206C_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static string _200D_206A_206D_206A_206C_202C_200E_206D_206C_206F_200C_200D_206A_202B_202C_200C_202A_200B_202B_200E_206F_206A_206B_200B_202E_200E_200C_200D_200C_202D_202C_202C_202A_200E_202E_200E_200D_206A_202B_200C_202E(string P_0, string P_1)
|
||||
{
|
||||
return Path.Combine(P_0, P_1);
|
||||
}
|
||||
|
||||
static void _206B_206F_200D_206E_202B_202E_206A_200F_202A_206C_206F_202A_200F_206D_206A_202D_206C_202C_202E_206B_206F_202E_206F_206D_202A_200F_200F_200E_206D_206A_202E_206C_206D_202C_200F_200F_206F_206D_200F_202C_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
|
||||
static void _206A_206C_206C_202C_202C_206E_202C_206F_202C_200F_200F_206F_206B_206F_200E_202C_200D_200E_206A_206E_200B_200D_206B_206D_200D_202C_206A_202C_200B_206E_200D_202B_202E_206C_206A_200F_202C_202E_206C_206E_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogInformation(P_1, P_2);
|
||||
}
|
||||
|
||||
static void _206B_202B_206F_200B_206A_200D_206D_200D_206E_202A_206A_202B_202E_202D_200C_206F_200C_200D_202A_202B_200B_206F_200D_206C_206B_206B_202B_202D_206F_202A_202A_200C_200C_206F_206B_206F_202A_206E_200B_200F_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogWarning(P_1, P_2);
|
||||
}
|
||||
|
||||
static bool _206A_200B_200F_202E_202C_202B_206A_202B_206F_206D_206A_202E_206E_200F_200E_206F_206E_206E_206C_206E_202B_206E_206C_202B_202A_206D_200E_200F_200B_200F_200C_200B_206C_200C_206A_200D_206D_206D_202E_206D_202E(string P_0)
|
||||
{
|
||||
return string.IsNullOrEmpty(P_0);
|
||||
}
|
||||
|
||||
static uint _206A_202A_206E_200E_206B_200E_200D_202C_202D_202A_206D_206B_206A_202C_200C_202E_206A_206D_202B_202A_202A_200E_200E_206A_202D_206A_206D_206A_202B_200C_200D_206C_206D_200C_202D_202A_202A_200E_206B_200E_202E(TeleportTicketEntry P_0)
|
||||
{
|
||||
return P_0.ItemId;
|
||||
}
|
||||
|
||||
static ushort _200D_206A_202E_206E_200B_206D_206D_202E_200C_206E_202E_202B_200F_206D_202A_206D_202D_202A_200D_200F_206B_202E_200C_206B_202B_202A_202D_206D_206B_202C_200C_202C_202A_200F_206A_200B_202A_202A_200C_206E_202E(TeleportTicketEntry P_0)
|
||||
{
|
||||
return P_0.DestTerritoryId;
|
||||
}
|
||||
|
||||
static Vector3 _206C_200B_200F_202B_202A_206E_206C_202C_206A_202E_200C_202D_202A_206E_202C_200F_206A_202E_202A_206F_202D_200B_200E_200B_200C_206D_206A_206C_202A_202A_200E_200D_206C_200E_202A_202A_206B_206A_202A_206D_202E(TeleportTicketEntry P_0)
|
||||
{
|
||||
return P_0.DestPosition;
|
||||
}
|
||||
|
||||
static bool _200C_200F_206E_202A_206A_202B_200E_202B_202A_202B_202C_202A_200F_206D_202A_200B_200C_200D_200C_202A_206D_206D_200B_206B_200E_200C_202D_200B_200C_202C_202E_206E_200B_200B_202E_206D_206F_206F_200F_202C_202E(string P_0)
|
||||
{
|
||||
return File.Exists(P_0);
|
||||
}
|
||||
|
||||
static string _206D_200F_206B_206E_206B_202B_200B_206F_200E_206C_206D_200C_206A_202B_200B_202E_200C_202A_206D_206E_202C_206F_202A_200F_200E_202E_206B_200E_200E_202A_206A_200F_202B_200B_206C_200F_206A_202A_202B_202B_202E(string P_0)
|
||||
{
|
||||
return File.ReadAllText(P_0);
|
||||
}
|
||||
|
||||
static Dictionary<string, TeleportTicketEntry> _206D_200B_206D_206E_200B_200D_202B_200D_200E_202A_206B_206F_200F_200F_202A_206E_200C_200B_200E_200C_202A_200F_202B_202D_206A_202B_202D_206A_202A_200C_206C_206A_200B_206E_202C_202A_202E_206B_206E_202C_202E(TeleportTicketFile P_0)
|
||||
{
|
||||
return P_0.Tickets;
|
||||
}
|
||||
|
||||
static void _200C_202E_200C_202A_202E_202D_202A_200F_206E_202A_206A_200B_206F_200F_202C_202B_206A_202B_200C_200C_200B_206E_202B_202A_206C_206E_206D_202E_200D_202D_200F_206A_206C_200D_202C_206E_200F_206F_206F_202B_202E(Array P_0, RuntimeFieldHandle P_1)
|
||||
{
|
||||
RuntimeHelpers.InitializeArray(P_0, P_1);
|
||||
}
|
||||
}
|
||||
2281
SmartNav/SmartNav.Data/WarpDataService.cs
Normal file
2281
SmartNav/SmartNav.Data/WarpDataService.cs
Normal file
File diff suppressed because it is too large
Load diff
920
SmartNav/SmartNav.Data/ZoneBoundaryDerivation.cs
Normal file
920
SmartNav/SmartNav.Data/ZoneBoundaryDerivation.cs
Normal file
|
|
@ -0,0 +1,920 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SmartNav.Model.Navigation;
|
||||
|
||||
namespace SmartNav.Data;
|
||||
|
||||
internal static class ZoneBoundaryDerivation
|
||||
{
|
||||
[Serializable]
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec
|
||||
{
|
||||
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
|
||||
|
||||
public static Func<ZoneBoundary, (ushort, ushort)> _003C_003E9__1_1;
|
||||
|
||||
public static Func<IGrouping<(ushort, ushort), ZoneBoundary>, (ushort, ushort)> _003C_003E9__1_2;
|
||||
|
||||
public static Func<IGrouping<(ushort, ushort), ZoneBoundary>, List<ZoneBoundary>> _003C_003E9__1_3;
|
||||
|
||||
public static Func<ZoneBoundaryPositionOverride, (ushort TerritoryA, ushort TerritoryB)> _003C_003E9__1_4;
|
||||
|
||||
public static Func<(float Distance, int GateIdx, int OverrideIdx), float> _003C_003E9__1_5;
|
||||
|
||||
internal (ushort, ushort) _003CApplyOverrides_003Eb__1_1(ZoneBoundary b)
|
||||
{
|
||||
return _003CApplyOverrides_003Eg__PairKey_007C1_0(_206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_200B_202E_206E_206E_206E_202A_202D_202A_202D_206A_206F_202B_200C_206B_206C_200E_206D_202B_200D_200B_202B_206F_206C_202B_206B_200C_206A_206E_202D_200F_206C_200B_206C_200E_202A_202C_202B_206B_200D_202C_202E(b)), _206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_202B_206C_206B_202E_202D_200C_200F_200C_206D_200C_206F_202B_200F_200C_206E_200C_200E_202E_206E_202B_206E_202A_206A_200D_200D_206B_202D_202D_200D_202E_206D_202E_202E_206C_202D_202E_200C_202E_200C_200F_202E(b)));
|
||||
}
|
||||
|
||||
internal (ushort, ushort) _003CApplyOverrides_003Eb__1_2(IGrouping<(ushort, ushort), ZoneBoundary> g)
|
||||
{
|
||||
return g.Key;
|
||||
}
|
||||
|
||||
internal List<ZoneBoundary> _003CApplyOverrides_003Eb__1_3(IGrouping<(ushort, ushort), ZoneBoundary> g)
|
||||
{
|
||||
return g.ToList();
|
||||
}
|
||||
|
||||
internal (ushort TerritoryA, ushort TerritoryB) _003CApplyOverrides_003Eb__1_4(ZoneBoundaryPositionOverride o)
|
||||
{
|
||||
return (TerritoryA: o.TerritoryA, TerritoryB: o.TerritoryB);
|
||||
}
|
||||
|
||||
internal float _003CApplyOverrides_003Eb__1_5((float Distance, int GateIdx, int OverrideIdx) c)
|
||||
{
|
||||
return c.Distance;
|
||||
}
|
||||
|
||||
static BoundarySide _200B_202E_206E_206E_206E_202A_202D_202A_202D_206A_206F_202B_200C_206B_206C_200E_206D_202B_200D_200B_202B_206F_206C_202B_206B_200C_206A_206E_202D_200F_206C_200B_206C_200E_202A_202C_202B_206B_200D_202C_202E(ZoneBoundary P_0)
|
||||
{
|
||||
return P_0.Side1;
|
||||
}
|
||||
|
||||
static ushort _206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(BoundarySide P_0)
|
||||
{
|
||||
return P_0.TerritoryId;
|
||||
}
|
||||
|
||||
static BoundarySide _202B_206C_206B_202E_202D_200C_200F_200C_206D_200C_206F_202B_200F_200C_206E_200C_200E_202E_206E_202B_206E_202A_206A_200D_200D_206B_202D_202D_200D_202E_206D_202E_202E_206C_202D_202E_200C_202E_200C_200F_202E(ZoneBoundary P_0)
|
||||
{
|
||||
return P_0.Side2;
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public static List<ZoneBoundary> Derive(IReadOnlyList<ExitRangeEntry> exitRanges, IReadOnlyDictionary<(ushort TerritoryId, uint InstanceId), PopRangeEntry> popRangeIndex, ILogger logger)
|
||||
{
|
||||
List<ZoneBoundary> list = new List<ZoneBoundary>();
|
||||
HashSet<(ushort, uint)> hashSet = new HashSet<(ushort, uint)>();
|
||||
List<ExitRangeEntry> list2 = new List<ExitRangeEntry>();
|
||||
IEnumerator<ExitRangeEntry> enumerator = exitRanges.GetEnumerator();
|
||||
try
|
||||
{
|
||||
ExitRangeEntry current = default(ExitRangeEntry);
|
||||
Vector3? vector = default(Vector3?);
|
||||
ExitRangeEntry exitRangeEntry = default(ExitRangeEntry);
|
||||
ExitRangeEntry current2 = default(ExitRangeEntry);
|
||||
ExitRangeEntry exitRangeEntry2 = default(ExitRangeEntry);
|
||||
ExitRangeEntry current3 = default(ExitRangeEntry);
|
||||
PopRangeEntry value2 = default(PopRangeEntry);
|
||||
float num12 = default(float);
|
||||
Vector3? vector3 = default(Vector3?);
|
||||
while (true)
|
||||
{
|
||||
int num;
|
||||
if (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator))
|
||||
{
|
||||
current = enumerator.Current;
|
||||
if (hashSet.Contains((current.SourceTerritoryId, current.InstanceId)) || current.DestTerritoryId == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
vector = null;
|
||||
if (popRangeIndex.TryGetValue((current.DestTerritoryId, current.DestInstanceId), out PopRangeEntry value))
|
||||
{
|
||||
vector = value.Position;
|
||||
}
|
||||
exitRangeEntry = null;
|
||||
IEnumerator<ExitRangeEntry> enumerator2 = exitRanges.GetEnumerator();
|
||||
try
|
||||
{
|
||||
num = 2034045205;
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 2034045207;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 10:
|
||||
num = 2034045205;
|
||||
break;
|
||||
case 9:
|
||||
num = ((current2.DestInstanceId == 0) ? 2034045207 : 2034045215);
|
||||
break;
|
||||
case 6:
|
||||
num = ((current2.ReturnInstanceId == 0) ? 2034045205 : 2034045202);
|
||||
break;
|
||||
case 0:
|
||||
num = ((current.DestInstanceId == 0) ? 2034045201 : 2034045211);
|
||||
break;
|
||||
case 8:
|
||||
num = ((current2.DestInstanceId == current.ReturnInstanceId) ? 2034045212 : 2034045207);
|
||||
break;
|
||||
case 5:
|
||||
num = ((current2.ReturnInstanceId != current.InstanceId) ? 2034045205 : 2034045212);
|
||||
break;
|
||||
case 4:
|
||||
num = ((current2.DestTerritoryId != current.SourceTerritoryId) ? 2034045205 : 2034045204);
|
||||
break;
|
||||
case 7:
|
||||
current2 = enumerator2.Current;
|
||||
num = ((current2.SourceTerritoryId != current.DestTerritoryId) ? 2034045205 : 2034045203);
|
||||
break;
|
||||
case 3:
|
||||
num = (hashSet.Contains((current2.SourceTerritoryId, current2.InstanceId)) ? 2034045205 : 2034045214);
|
||||
break;
|
||||
case 2:
|
||||
num = (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator2) ? 2034045200 : 2034045206);
|
||||
break;
|
||||
case 11:
|
||||
exitRangeEntry = current2;
|
||||
goto end_IL_009f;
|
||||
case 12:
|
||||
num = ((current.DestInstanceId == current2.ReturnInstanceId) ? 2034045212 : 2034045201);
|
||||
break;
|
||||
case 1:
|
||||
goto end_IL_009f;
|
||||
}
|
||||
continue;
|
||||
end_IL_009f:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
num = ((enumerator2 == null) ? 704950987 : 704950984);
|
||||
while (true)
|
||||
{
|
||||
int num7 = num;
|
||||
int num3 = 704950985;
|
||||
int num4 = num7;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = 704950984;
|
||||
break;
|
||||
case 1:
|
||||
_206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator2);
|
||||
num = 704950987;
|
||||
break;
|
||||
case 2:
|
||||
goto end_IL_02e0;
|
||||
}
|
||||
continue;
|
||||
end_IL_02e0:
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!(exitRangeEntry == null))
|
||||
{
|
||||
goto IL_07b3;
|
||||
}
|
||||
float num8 = float.MaxValue;
|
||||
exitRangeEntry2 = null;
|
||||
enumerator2 = exitRanges.GetEnumerator();
|
||||
try
|
||||
{
|
||||
num = 1641010271;
|
||||
while (true)
|
||||
{
|
||||
int num9 = num;
|
||||
int num3 = 1641010266;
|
||||
int num4 = num9;
|
||||
int num10 = num4 + num3;
|
||||
int num11 = num4 & num3;
|
||||
switch (num10 - (num11 + num11))
|
||||
{
|
||||
case 6:
|
||||
num = ((!popRangeIndex.TryGetValue((current.SourceTerritoryId, current3.DestInstanceId), out value2)) ? 1641010256 : 1641010267);
|
||||
break;
|
||||
case 4:
|
||||
current3 = enumerator2.Current;
|
||||
num = ((current3.SourceTerritoryId != current.DestTerritoryId) ? 1641010271 : 1641010258);
|
||||
break;
|
||||
case 5:
|
||||
num = (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator2) ? 1641010270 : 1641010269);
|
||||
break;
|
||||
case 1:
|
||||
num12 = Vector3.Distance(current.SourcePosition, value2.Position);
|
||||
num = ((!(num12 < num8)) ? 1641010271 : 1641010259);
|
||||
break;
|
||||
case 0:
|
||||
num = 1641010271;
|
||||
break;
|
||||
case 2:
|
||||
exitRangeEntry2 = current3;
|
||||
num = 1641010271;
|
||||
break;
|
||||
case 3:
|
||||
num = (hashSet.Contains((current3.SourceTerritoryId, current3.InstanceId)) ? 1641010271 : 1641010268);
|
||||
break;
|
||||
case 10:
|
||||
num = (((object)exitRangeEntry2 != null) ? 1641010271 : 1641010264);
|
||||
break;
|
||||
case 8:
|
||||
num = ((current3.DestTerritoryId != current.SourceTerritoryId) ? 1641010271 : 1641010265);
|
||||
break;
|
||||
case 9:
|
||||
num8 = num12;
|
||||
exitRangeEntry = current3;
|
||||
num = 1641010271;
|
||||
break;
|
||||
case 7:
|
||||
goto end_IL_0357;
|
||||
}
|
||||
continue;
|
||||
end_IL_0357:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
num = ((enumerator2 == null) ? (-564357358) : (-564357359));
|
||||
while (true)
|
||||
{
|
||||
int num13 = num;
|
||||
int num3 = -564357357;
|
||||
int num4 = num13;
|
||||
int num14 = num4 + num3;
|
||||
int num15 = num4 & num3;
|
||||
switch (num14 - (num15 + num15))
|
||||
{
|
||||
case 0:
|
||||
num = -564357359;
|
||||
break;
|
||||
case 1:
|
||||
goto end_IL_053f;
|
||||
case 2:
|
||||
_206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator2);
|
||||
num = -564357358;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_053f:
|
||||
break;
|
||||
}
|
||||
}
|
||||
num = (((object)exitRangeEntry != null) ? (-267048228) : (-267048233));
|
||||
}
|
||||
else
|
||||
{
|
||||
num = -267048227;
|
||||
}
|
||||
goto IL_05ac;
|
||||
IL_07b3:
|
||||
num = (((object)exitRangeEntry != null) ? (-267048226) : (-267048232));
|
||||
goto IL_05ac;
|
||||
IL_05ac:
|
||||
while (true)
|
||||
{
|
||||
int num16 = num;
|
||||
int num3 = -267048226;
|
||||
int num4 = num16;
|
||||
Vector3? vector2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 4:
|
||||
num = -267048233;
|
||||
break;
|
||||
case 6:
|
||||
vector2 = vector;
|
||||
goto IL_061f;
|
||||
case 0:
|
||||
vector2 = exitRangeEntry.SourcePosition;
|
||||
goto IL_061f;
|
||||
case 7:
|
||||
list2.Add(current);
|
||||
num = -267048234;
|
||||
break;
|
||||
case 1:
|
||||
goto IL_0659;
|
||||
case 8:
|
||||
goto end_IL_05ac;
|
||||
case 2:
|
||||
goto IL_07b3;
|
||||
case 9:
|
||||
exitRangeEntry = exitRangeEntry2;
|
||||
num = -267048228;
|
||||
break;
|
||||
case 5:
|
||||
hashSet.Add((exitRangeEntry.SourceTerritoryId, exitRangeEntry.InstanceId));
|
||||
num = -267048234;
|
||||
break;
|
||||
case 3:
|
||||
goto end_IL_079b;
|
||||
IL_061f:
|
||||
vector3 = vector2;
|
||||
num = (vector3.HasValue ? (-267048225) : (-267048231));
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
IL_0659:
|
||||
ZoneBoundary zoneBoundary = _202E_200D_206B_202D_206A_206B_200F_202B_200B_206D_202C_206E_206F_206B_206B_202C_202E_202A_202B_200D_200B_200E_202A_202A_206F_202C_206F_206B_200C_200C_200C_206C_200B_202D_200D_206F_202D_200F_200B_206C_202E();
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 3);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-1989489141));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(current.SourceTerritoryId);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E<string>(-642304930));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(current.DestTerritoryId);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-493592002));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(current.InstanceId);
|
||||
_202D_202C_206F_206A_202B_200E_206C_206C_206F_202B_202B_206B_206D_206F_206A_202E_202D_206A_200F_200B_206E_200B_200D_206C_206B_202C_202B_206D_206B_206A_202B_206E_202B_202E_202D_200E_200D_206A_200B_206B_202E(zoneBoundary, defaultInterpolatedStringHandler.ToStringAndClear());
|
||||
BoundarySide boundarySide = _202A_202A_202B_206F_200B_200B_206A_206F_206A_202A_206A_200B_200B_200F_202B_206C_200C_206F_200B_206C_200E_200B_202A_200E_200C_200C_202A_200D_206F_206C_202D_202E_202B_202C_200B_200E_206B_202D_202D_206F_202E();
|
||||
_202A_202A_200F_206F_206B_206B_206D_206B_200B_200B_206F_200D_206F_202D_200B_200F_202D_206A_202A_200B_206A_200F_206A_200B_200C_200B_202A_200C_206F_200C_200C_200C_202D_200F_200C_202E_202A_200D_202A_202A_202E(boundarySide, current.SourceTerritoryId);
|
||||
_200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(boundarySide, current.SourcePosition);
|
||||
_200C_206F_200C_202B_206A_202A_206E_200F_202E_200E_202A_200D_200B_202D_200B_202A_202B_206B_206A_200B_206F_202C_202C_202C_202C_206D_202E_202E_200B_202A_206E_202B_206B_206A_202C_202E_202E_206F_206E_200F_202E(boundarySide, TriggerOf(current));
|
||||
_206E_206D_200C_200F_202C_202D_200F_206F_200D_206E_202E_202B_200D_206E_202D_200D_200B_202B_202B_202E_202E_200F_206F_200C_202A_200B_206B_202E_206A_202C_202D_206E_206F_202E_200F_200B_202D_206A_206C_200C_202E(zoneBoundary, boundarySide);
|
||||
BoundarySide boundarySide2 = _202A_202A_202B_206F_200B_200B_206A_206F_206A_202A_206A_200B_200B_200F_202B_206C_200C_206F_200B_206C_200E_200B_202A_200E_200C_200C_202A_200D_206F_206C_202D_202E_202B_202C_200B_200E_206B_202D_202D_206F_202E();
|
||||
_202A_202A_200F_206F_206B_206B_206D_206B_200B_200B_206F_200D_206F_202D_200B_200F_202D_206A_202A_200B_206A_200F_206A_200B_200C_200B_202A_200C_206F_200C_200C_200C_202D_200F_200C_202E_202A_200D_202A_202A_202E(boundarySide2, current.DestTerritoryId);
|
||||
_200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(boundarySide2, vector3.Value);
|
||||
_200C_206F_200C_202B_206A_202A_206E_200F_202E_200E_202A_200D_200B_202D_200B_202A_202B_206B_206A_200B_206F_202C_202C_202C_202C_206D_202E_202E_200B_202A_206E_202B_206B_206A_202C_202E_202E_206F_206E_200F_202E(boundarySide2, (exitRangeEntry == null) ? null : TriggerOf(exitRangeEntry));
|
||||
_206C_202E_202B_200D_202A_200C_200C_206A_200C_202C_206E_206A_200C_206F_206B_206E_206B_206E_206E_206E_206A_200E_200E_206D_206C_206F_200D_202A_202D_200E_202A_200C_200B_206E_200C_206C_200B_206A_200C_202A_202E(zoneBoundary, boundarySide2);
|
||||
_202D_202D_206F_202D_206F_202C_206C_202C_206D_206D_202C_206D_200B_206E_206A_202E_206E_202B_202A_206D_202E_206F_202D_200F_200D_206C_202B_200C_206A_206E_202C_206F_202D_202D_200F_202E_200C_202B_200F_200F_202E(zoneBoundary, exitRangeEntry == null);
|
||||
list.Add(zoneBoundary);
|
||||
hashSet.Add((current.SourceTerritoryId, current.InstanceId));
|
||||
num = ((!(exitRangeEntry != null)) ? (-267048234) : (-267048229));
|
||||
continue;
|
||||
end_IL_05ac:
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_079b:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
int num = ((enumerator == null) ? (-1091399177) : (-1091399180));
|
||||
while (true)
|
||||
{
|
||||
int num17 = num;
|
||||
int num3 = -1091399178;
|
||||
int num4 = num17;
|
||||
int num18 = num4 + num3;
|
||||
int num19 = num4 & num3;
|
||||
switch (num18 - (num19 + num19))
|
||||
{
|
||||
case 0:
|
||||
num = -1091399180;
|
||||
break;
|
||||
case 2:
|
||||
_206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator);
|
||||
num = -1091399177;
|
||||
break;
|
||||
case 1:
|
||||
goto end_IL_082c;
|
||||
}
|
||||
continue;
|
||||
end_IL_082c:
|
||||
break;
|
||||
}
|
||||
}
|
||||
HashSet<(ushort, ushort)> hashSet2 = new HashSet<(ushort, ushort)>();
|
||||
using (List<ZoneBoundary>.Enumerator enumerator3 = list.GetEnumerator())
|
||||
{
|
||||
int num = 1178177588;
|
||||
while (true)
|
||||
{
|
||||
int num20 = num;
|
||||
int num3 = 1178177589;
|
||||
int num4 = num20;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 3:
|
||||
num = 1178177588;
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
ZoneBoundary current4 = enumerator3.Current;
|
||||
hashSet2.Add((_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(current4)), _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(current4))));
|
||||
hashSet2.Add((_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(current4)), _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(current4))));
|
||||
num = 1178177588;
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
num = (enumerator3.MoveNext() ? 1178177591 : 1178177589);
|
||||
break;
|
||||
case 0:
|
||||
goto end_IL_0894;
|
||||
}
|
||||
continue;
|
||||
end_IL_0894:
|
||||
break;
|
||||
}
|
||||
}
|
||||
using List<ExitRangeEntry>.Enumerator enumerator4 = list2.GetEnumerator();
|
||||
int num = -784506281;
|
||||
ExitRangeEntry current5 = default(ExitRangeEntry);
|
||||
while (true)
|
||||
{
|
||||
int num21 = num;
|
||||
int num3 = -784506286;
|
||||
int num4 = num21;
|
||||
int num22 = num4 + num3;
|
||||
int num23 = num4 & num3;
|
||||
switch (num22 - (num23 + num23))
|
||||
{
|
||||
case 2:
|
||||
_200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(1622363206), new object[4] { current5.InstanceId, current5.SourceTerritoryId, current5.DestTerritoryId, current5.DestInstanceId });
|
||||
num = -784506281;
|
||||
break;
|
||||
case 5:
|
||||
num = (enumerator4.MoveNext() ? (-784506285) : (-784506287));
|
||||
break;
|
||||
case 1:
|
||||
current5 = enumerator4.Current;
|
||||
num = ((!hashSet2.Contains((current5.SourceTerritoryId, current5.DestTerritoryId))) ? (-784506288) : (-784506282));
|
||||
break;
|
||||
case 0:
|
||||
num = -784506281;
|
||||
break;
|
||||
case 4:
|
||||
_202D_200E_200D_200C_206C_200C_200E_202E_206E_202A_200B_200C_206A_200E_206B_200C_200E_200C_200B_206E_206A_206D_202E_200B_200B_202B_202D_206D_202E_202A_202C_200C_206F_202E_206C_202D_202D_206F_206E_206F_202E(logger, global::_003CModule_003E._202E_200F_206C_202A_202D_200C_200C_200B_202B_200E_202C_202C_202D_206B_202E_206A_200D_206F_206F_200B_206F_206B_202E_206D_202C_202B_200B_206B_200E_202E_200D_200D_202A_206B_206C_202D_206B_202C_200B_200E_202E<string>(-566963400), new object[3] { current5.InstanceId, current5.SourceTerritoryId, current5.DestTerritoryId });
|
||||
num = -784506281;
|
||||
break;
|
||||
case 3:
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public static void ApplyOverrides(List<ZoneBoundary> boundaries, IReadOnlyCollection<(ushort TerritoryA, ushort TerritoryB)> flyingPairs, IReadOnlyList<ZoneBoundaryPositionOverride> positionOverrides, ILogger logger)
|
||||
{
|
||||
HashSet<(ushort, ushort)> hashSet = new HashSet<(ushort, ushort)>(flyingPairs);
|
||||
int num;
|
||||
using (List<ZoneBoundary>.Enumerator enumerator = boundaries.GetEnumerator())
|
||||
{
|
||||
num = -1561912476;
|
||||
ZoneBoundary current = default(ZoneBoundary);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1561912474;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
_206D_200F_200E_202B_202D_200F_206D_200C_200C_200E_206E_202C_202D_206A_206C_200F_200E_206C_206A_206F_206A_200C_206E_206D_202B_206F_200C_206E_200C_202A_202C_206A_200D_206C_200C_206B_200D_202A_200C_206E_202E(current, true);
|
||||
num = -1561912476;
|
||||
break;
|
||||
case 1:
|
||||
current = enumerator.Current;
|
||||
num = ((!hashSet.Contains(PairKey(_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(current)), _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(current))))) ? (-1561912476) : (-1561912474));
|
||||
break;
|
||||
case 2:
|
||||
num = (enumerator.MoveNext() ? (-1561912473) : (-1561912475));
|
||||
break;
|
||||
case 4:
|
||||
num = -1561912476;
|
||||
break;
|
||||
case 3:
|
||||
goto end_IL_001a;
|
||||
}
|
||||
continue;
|
||||
end_IL_001a:
|
||||
break;
|
||||
}
|
||||
}
|
||||
Dictionary<(ushort, ushort), List<ZoneBoundary>> dictionary = (from b in boundaries
|
||||
group b by PairKey(_003C_003Ec._206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_003C_003Ec._200B_202E_206E_206E_206E_202A_202D_202A_202D_206A_206F_202B_200C_206B_206C_200E_206D_202B_200D_200B_202B_206F_206C_202B_206B_200C_206A_206E_202D_200F_206C_200B_206C_200E_202A_202C_202B_206B_200D_202C_202E(b)), _003C_003Ec._206D_206F_200D_206F_206B_202C_206B_206C_200F_206E_202A_202E_202B_202E_200D_206A_200D_202A_206A_202D_200D_200B_206E_200F_202C_202D_206A_200F_200C_206C_206B_206C_200B_202D_202C_202C_200C_200C_200C_202E_202E(_003C_003Ec._202B_206C_206B_202E_202D_200C_200F_200C_206D_200C_206F_202B_200F_200C_206E_200C_200E_202E_206E_202B_206E_202A_206A_200D_200D_206B_202D_202D_200D_202E_206D_202E_202E_206C_202D_202E_200C_202E_200C_200F_202E(b)))).ToDictionary((IGrouping<(ushort, ushort), ZoneBoundary> g) => g.Key, (IGrouping<(ushort, ushort), ZoneBoundary> g) => g.ToList());
|
||||
int num7 = 0;
|
||||
IEnumerator<IGrouping<(ushort, ushort), ZoneBoundaryPositionOverride>> enumerator2 = (from o in positionOverrides
|
||||
group o by (TerritoryA: o.TerritoryA, TerritoryB: o.TerritoryB)).GetEnumerator();
|
||||
try
|
||||
{
|
||||
List<ZoneBoundaryPositionOverride> list = default(List<ZoneBoundaryPositionOverride>);
|
||||
bool[] array2 = default(bool[]);
|
||||
(float, int, int) current3 = default((float, int, int));
|
||||
int num14 = default(int);
|
||||
while (true)
|
||||
{
|
||||
IL_0519:
|
||||
if (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator2))
|
||||
{
|
||||
IGrouping<(ushort, ushort), ZoneBoundaryPositionOverride> current2 = enumerator2.Current;
|
||||
list = current2.ToList();
|
||||
if (!dictionary.TryGetValue(current2.Key, out var value))
|
||||
{
|
||||
num7 += list.Count;
|
||||
_200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-1356546708), new object[3]
|
||||
{
|
||||
current2.Key.Item1,
|
||||
current2.Key.Item2,
|
||||
list.Count
|
||||
});
|
||||
continue;
|
||||
}
|
||||
List<(float, int, int)> list2 = new List<(float, int, int)>();
|
||||
int num8 = 0;
|
||||
while (num8 < value.Count)
|
||||
{
|
||||
int num3;
|
||||
int num4;
|
||||
for (int num9 = 0; num9 < list.Count; num9 = (num4 | num3) + (num4 & num3))
|
||||
{
|
||||
list2.Add((OverrideDistance(value[num8], list[num9]), num8, num9));
|
||||
int num10 = num9;
|
||||
num3 = 1;
|
||||
num4 = num10;
|
||||
}
|
||||
int num11 = num8;
|
||||
num3 = 1;
|
||||
num4 = num11;
|
||||
num8 = (num4 | num3) + (num4 & num3);
|
||||
}
|
||||
bool[] array = new bool[value.Count];
|
||||
array2 = new bool[list.Count];
|
||||
IEnumerator<(float, int, int)> enumerator3 = list2.OrderBy<(float, int, int), float>(((float Distance, int GateIdx, int OverrideIdx) c) => c.Distance).GetEnumerator();
|
||||
try
|
||||
{
|
||||
num = -397486009;
|
||||
while (true)
|
||||
{
|
||||
int num12 = num;
|
||||
int num3 = -397486013;
|
||||
int num4 = num12;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 3:
|
||||
num = -397486009;
|
||||
break;
|
||||
case 5:
|
||||
num = (array2[current3.Item3] ? (-397486009) : (-397486015));
|
||||
break;
|
||||
case 4:
|
||||
num = (_202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E((IEnumerator)enumerator3) ? (-397486014) : (-397486013));
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
array[current3.Item2] = true;
|
||||
array2[current3.Item3] = true;
|
||||
ZoneBoundary zoneBoundary = value[current3.Item2];
|
||||
ZoneBoundaryPositionOverride zoneBoundaryPositionOverride = list[current3.Item3];
|
||||
bool flag = _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(zoneBoundary)) == zoneBoundaryPositionOverride.TerritoryA;
|
||||
_200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(zoneBoundary), flag ? zoneBoundaryPositionOverride.PositionA : zoneBoundaryPositionOverride.PositionB);
|
||||
_200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(zoneBoundary), flag ? zoneBoundaryPositionOverride.PositionB : zoneBoundaryPositionOverride.PositionA);
|
||||
num = -397486009;
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
current3 = enumerator3.Current;
|
||||
num = (array[current3.Item2] ? (-397486009) : (-397486010));
|
||||
break;
|
||||
case 0:
|
||||
goto end_IL_02f4;
|
||||
}
|
||||
continue;
|
||||
end_IL_02f4:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
num = ((enumerator3 == null) ? 386803249 : 386803248);
|
||||
while (true)
|
||||
{
|
||||
int num13 = num;
|
||||
int num3 = 386803249;
|
||||
int num4 = num13;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = 386803248;
|
||||
break;
|
||||
case 0:
|
||||
goto end_IL_0476;
|
||||
case 1:
|
||||
_206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator3);
|
||||
num = 386803249;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_0476:
|
||||
break;
|
||||
}
|
||||
}
|
||||
num14 = 0;
|
||||
num = -1707302670;
|
||||
}
|
||||
else
|
||||
{
|
||||
num = -1707302671;
|
||||
}
|
||||
while (true)
|
||||
{
|
||||
int num15 = num;
|
||||
int num3 = -1707302671;
|
||||
int num4 = num15;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 5:
|
||||
num = -1707302670;
|
||||
continue;
|
||||
case 2:
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
int num19 = num14;
|
||||
num3 = 1;
|
||||
num4 = num19;
|
||||
int num20 = num4 ^ num3;
|
||||
int num21 = num4 & num3;
|
||||
num14 = num20 + (num21 + num21);
|
||||
num = -1707302670;
|
||||
continue;
|
||||
}
|
||||
case 4:
|
||||
num = (array2[num14] ? (-1707302672) : (-1707302665));
|
||||
continue;
|
||||
case 3:
|
||||
num = ((num14 < list.Count) ? (-1707302667) : (-1707302669));
|
||||
continue;
|
||||
case 6:
|
||||
{
|
||||
int num16 = num7;
|
||||
num3 = 1;
|
||||
num4 = num16;
|
||||
int num17 = num4 ^ num3;
|
||||
int num18 = num4 & num3;
|
||||
num7 = num17 + (num18 + num18);
|
||||
num = -1707302672;
|
||||
continue;
|
||||
}
|
||||
case 0:
|
||||
goto end_IL_04d1;
|
||||
}
|
||||
goto IL_0519;
|
||||
continue;
|
||||
end_IL_04d1:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
num = ((enumerator2 == null) ? (-284585100) : (-284585099));
|
||||
while (true)
|
||||
{
|
||||
int num22 = num;
|
||||
int num3 = -284585100;
|
||||
int num4 = num22;
|
||||
int num23 = num4 + num3;
|
||||
int num24 = num4 & num3;
|
||||
switch (num23 - (num24 + num24))
|
||||
{
|
||||
case 0:
|
||||
goto end_IL_05df;
|
||||
case 1:
|
||||
_206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E((IDisposable)enumerator2);
|
||||
num = -284585100;
|
||||
break;
|
||||
case 2:
|
||||
num = -284585099;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_05df:
|
||||
break;
|
||||
}
|
||||
}
|
||||
num = ((num7 <= 0) ? 1969313430 : 1969313429);
|
||||
while (true)
|
||||
{
|
||||
int num25 = num;
|
||||
int num3 = 1969313428;
|
||||
int num4 = num25;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = 1969313429;
|
||||
break;
|
||||
case 2:
|
||||
return;
|
||||
case 1:
|
||||
_200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(logger, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(-1309944593), new object[1] { num7 });
|
||||
num = 1969313430;
|
||||
break;
|
||||
}
|
||||
}
|
||||
static (ushort, ushort) PairKey(ushort a, ushort b)
|
||||
{
|
||||
int num26 = ((a <= b) ? 1834815279 : 1834815278);
|
||||
while (true)
|
||||
{
|
||||
int num27 = num26;
|
||||
int num28 = 1834815279;
|
||||
int num29 = num27;
|
||||
int num30 = num29 + num28;
|
||||
int num31 = num29 & num28;
|
||||
switch (num30 - (num31 + num31))
|
||||
{
|
||||
case 2:
|
||||
goto IL_0044;
|
||||
case 1:
|
||||
return (b, a);
|
||||
case 0:
|
||||
return (a, b);
|
||||
}
|
||||
continue;
|
||||
IL_0044:
|
||||
num26 = 1834815278;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static TriggerBox? TriggerOf(ExitRangeEntry exit)
|
||||
{
|
||||
int num = ((exit.HalfExtents == Vector3.Zero) ? 1355373667 : 1355373664);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1355373666;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
goto IL_0052;
|
||||
case 1:
|
||||
return null;
|
||||
case 2:
|
||||
return _202A_200B_206C_200F_202B_206B_200C_202D_202D_202D_200B_206E_206F_202C_206F_206D_202B_200E_206A_206D_206A_206A_206C_206C_202E_202D_202C_206B_206B_200C_202A_206A_202B_200B_206E_206A_206A_202C_200C_200D_202E(exit.SourcePosition, exit.Rotation, exit.HalfExtents);
|
||||
}
|
||||
continue;
|
||||
IL_0052:
|
||||
num = 1355373664;
|
||||
}
|
||||
}
|
||||
|
||||
private static float OverrideDistance(ZoneBoundary gate, ZoneBoundaryPositionOverride ovr)
|
||||
{
|
||||
int num = ((_202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(gate)) == ovr.TerritoryA) ? (-1856097741) : (-1856097744));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1856097743;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
goto IL_0053;
|
||||
case 1:
|
||||
return Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(gate)), ovr.PositionB) + Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(gate)), ovr.PositionA);
|
||||
case 2:
|
||||
return Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(gate)), ovr.PositionA) + Vector3.Distance(_202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(_206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(gate)), ovr.PositionB);
|
||||
}
|
||||
continue;
|
||||
IL_0053:
|
||||
num = -1856097744;
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
internal static (ushort, ushort) _003CApplyOverrides_003Eg__PairKey_007C1_0(ushort a, ushort b)
|
||||
{
|
||||
int num = ((a <= b) ? 1834815279 : 1834815278);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1834815279;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
goto IL_0044;
|
||||
case 1:
|
||||
return (b, a);
|
||||
case 0:
|
||||
return (a, b);
|
||||
}
|
||||
continue;
|
||||
IL_0044:
|
||||
num = 1834815278;
|
||||
}
|
||||
}
|
||||
|
||||
static bool _202D_202B_200E_200D_200F_206B_200E_202A_206C_200F_200C_202B_202A_200E_206D_206C_200D_202D_206D_206B_206A_200D_206C_200D_206A_202C_202A_206B_206E_206B_200D_202C_200F_206C_206E_202C_206B_206D_200F_206A_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _206C_206E_202B_206F_206C_206F_202B_206E_206C_200B_200B_206E_206E_202C_206E_202D_200B_202D_202B_202C_200F_202B_200F_206E_206B_206D_206E_206D_206C_200F_200D_200E_206C_206B_206C_202D_206A_206C_200C_206C_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static ZoneBoundary _202E_200D_206B_202D_206A_206B_200F_202B_200B_206D_202C_206E_206F_206B_206B_202C_202E_202A_202B_200D_200B_200E_202A_202A_206F_202C_206F_206B_200C_200C_200C_206C_200B_202D_200D_206F_202D_200F_200B_206C_202E()
|
||||
{
|
||||
return new ZoneBoundary();
|
||||
}
|
||||
|
||||
static void _202D_202C_206F_206A_202B_200E_206C_206C_206F_202B_202B_206B_206D_206F_206A_202E_202D_206A_200F_200B_206E_200B_200D_206C_206B_202C_202B_206D_206B_206A_202B_206E_202B_202E_202D_200E_200D_206A_200B_206B_202E(ZoneBoundary P_0, string P_1)
|
||||
{
|
||||
P_0.Id = P_1;
|
||||
}
|
||||
|
||||
static BoundarySide _202A_202A_202B_206F_200B_200B_206A_206F_206A_202A_206A_200B_200B_200F_202B_206C_200C_206F_200B_206C_200E_200B_202A_200E_200C_200C_202A_200D_206F_206C_202D_202E_202B_202C_200B_200E_206B_202D_202D_206F_202E()
|
||||
{
|
||||
return new BoundarySide();
|
||||
}
|
||||
|
||||
static void _202A_202A_200F_206F_206B_206B_206D_206B_200B_200B_206F_200D_206F_202D_200B_200F_202D_206A_202A_200B_206A_200F_206A_200B_200C_200B_202A_200C_206F_200C_200C_200C_202D_200F_200C_202E_202A_200D_202A_202A_202E(BoundarySide P_0, ushort P_1)
|
||||
{
|
||||
P_0.TerritoryId = P_1;
|
||||
}
|
||||
|
||||
static void _200C_202D_200E_202A_202C_206D_200D_202C_200D_202E_202E_206B_206D_202E_202B_206A_200E_202A_202B_200F_202C_206C_206B_200B_200B_200D_202A_206A_206A_202E_200F_206B_206C_202E_200C_206A_200D_202A_202C_200D_202E(BoundarySide P_0, Vector3 P_1)
|
||||
{
|
||||
P_0.Position = P_1;
|
||||
}
|
||||
|
||||
static void _200C_206F_200C_202B_206A_202A_206E_200F_202E_200E_202A_200D_200B_202D_200B_202A_202B_206B_206A_200B_206F_202C_202C_202C_202C_206D_202E_202E_200B_202A_206E_202B_206B_206A_202C_202E_202E_206F_206E_200F_202E(BoundarySide P_0, TriggerBox P_1)
|
||||
{
|
||||
P_0.Trigger = P_1;
|
||||
}
|
||||
|
||||
static void _206E_206D_200C_200F_202C_202D_200F_206F_200D_206E_202E_202B_200D_206E_202D_200D_200B_202B_202B_202E_202E_200F_206F_200C_202A_200B_206B_202E_206A_202C_202D_206E_206F_202E_200F_200B_202D_206A_206C_200C_202E(ZoneBoundary P_0, BoundarySide P_1)
|
||||
{
|
||||
P_0.Side1 = P_1;
|
||||
}
|
||||
|
||||
static void _206C_202E_202B_200D_202A_200C_200C_206A_200C_202C_206E_206A_200C_206F_206B_206E_206B_206E_206E_206E_206A_200E_200E_206D_206C_206F_200D_202A_202D_200E_202A_200C_200B_206E_200C_206C_200B_206A_200C_202A_202E(ZoneBoundary P_0, BoundarySide P_1)
|
||||
{
|
||||
P_0.Side2 = P_1;
|
||||
}
|
||||
|
||||
static void _202D_202D_206F_202D_206F_202C_206C_202C_206D_206D_202C_206D_200B_206E_206A_202E_206E_202B_202A_206D_202E_206F_202D_200F_200D_206C_202B_200C_206A_206E_202C_206F_202D_202D_200F_202E_200C_202B_200F_200F_202E(ZoneBoundary P_0, bool P_1)
|
||||
{
|
||||
P_0.OneWay = P_1;
|
||||
}
|
||||
|
||||
static BoundarySide _206B_206B_202B_206E_206D_200E_200E_202A_206F_206E_206A_202E_200D_206C_202C_202E_206F_206E_202B_206F_200F_206C_200C_200B_200B_206E_202D_200E_200F_202E_206D_202B_202D_206E_202E_202A_206E_202A_200D_206B_202E(ZoneBoundary P_0)
|
||||
{
|
||||
return P_0.Side1;
|
||||
}
|
||||
|
||||
static ushort _202D_202A_206E_206F_206B_202A_206A_206D_206B_202B_202A_200B_206C_200D_202E_202B_200F_200D_202A_202A_202A_206E_200E_206E_206D_206B_200F_200E_202E_200B_200D_200D_200E_206B_206B_200E_200C_202D_200F_206D_202E(BoundarySide P_0)
|
||||
{
|
||||
return P_0.TerritoryId;
|
||||
}
|
||||
|
||||
static BoundarySide _206E_206F_202C_202D_200E_202C_200B_206D_206C_206F_202A_206E_200D_206D_202B_200E_200E_200D_202C_202D_206B_202A_202B_200B_200B_202B_202C_206A_202A_206A_206E_202D_200F_202D_206C_206E_206B_200B_206D_206B_202E(ZoneBoundary P_0)
|
||||
{
|
||||
return P_0.Side2;
|
||||
}
|
||||
|
||||
static void _202D_200E_200D_200C_206C_200C_200E_202E_206E_202A_200B_200C_206A_200E_206B_200C_200E_200C_200B_206E_206A_206D_202E_200B_200B_202B_202D_206D_202E_202A_202C_200C_206F_202E_206C_202D_202D_206F_206E_206F_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
|
||||
static void _200D_206A_206E_206E_202D_206D_206C_202A_200E_202B_200D_200E_206A_200C_202E_206D_202E_200B_200B_206A_200B_206D_206E_202E_200D_202C_200E_200B_200B_206F_206E_206E_200F_202D_200B_200B_206E_206F_206C_202B_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogWarning(P_1, P_2);
|
||||
}
|
||||
|
||||
static void _206D_200F_200E_202B_202D_200F_206D_200C_200C_200E_206E_202C_202D_206A_206C_200F_200E_206C_206A_206F_206A_200C_206E_206D_202B_206F_200C_206E_200C_202A_202C_206A_200D_206C_200C_206B_200D_202A_200C_206E_202E(ZoneBoundary P_0, bool P_1)
|
||||
{
|
||||
P_0.RequiresFlying = P_1;
|
||||
}
|
||||
|
||||
static TriggerBox _202A_200B_206C_200F_202B_206B_200C_202D_202D_202D_200B_206E_206F_202C_206F_206D_202B_200E_206A_206D_206A_206A_206C_206C_202E_202D_202C_206B_206B_200C_202A_206A_202B_200B_206E_206A_206A_202C_200C_200D_202E(Vector3 P_0, Vector3 P_1, Vector3 P_2)
|
||||
{
|
||||
return new TriggerBox(P_0, P_1, P_2);
|
||||
}
|
||||
|
||||
static Vector3 _202B_200F_206F_202D_200E_206B_206F_206F_202B_200D_202B_202D_202B_202A_206E_206E_200F_206E_206A_206E_202D_200D_202B_206F_200F_206C_200E_206D_200F_202E_206C_202C_200F_202E_206F_200B_200E_206C_206E_202C_202E(BoundarySide P_0)
|
||||
{
|
||||
return P_0.Position;
|
||||
}
|
||||
}
|
||||
90
SmartNav/SmartNav.Data/ZoneBoundaryOverrides.cs
Normal file
90
SmartNav/SmartNav.Data/ZoneBoundaryOverrides.cs
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
|
||||
namespace SmartNav.Data;
|
||||
|
||||
internal static class ZoneBoundaryOverrides
|
||||
{
|
||||
public static readonly IReadOnlyCollection<(ushort TerritoryA, ushort TerritoryB)> FlyingPairs = new global::_003C_003Ez__ReadOnlyArray<(ushort, ushort)>(new(ushort, ushort)[2]
|
||||
{
|
||||
(401, 419),
|
||||
(397, 401)
|
||||
});
|
||||
|
||||
public static readonly IReadOnlyList<ZoneBoundaryPositionOverride> PositionOverrides = new global::_003C_003Ez__ReadOnlyArray<ZoneBoundaryPositionOverride>(new ZoneBoundaryPositionOverride[73]
|
||||
{
|
||||
new ZoneBoundaryPositionOverride(128, 129, new Vector3(-74f, 39.246f, -121f), new Vector3(-84f, 18f, -28f)),
|
||||
new ZoneBoundaryPositionOverride(128, 129, new Vector3(-7f, 42.586f, -27f), new Vector3(-7f, 20.667f, 28f)),
|
||||
new ZoneBoundaryPositionOverride(128, 129, new Vector3(-96f, 35.5f, 102f), new Vector3(-90f, 21.988f, 116f)),
|
||||
new ZoneBoundaryPositionOverride(129, 134, new Vector3(65f, 19.75f, 0f), new Vector3(-53f, 33.768f, 159f)),
|
||||
new ZoneBoundaryPositionOverride(128, 135, new Vector3(25f, 44.5f, 182f), new Vector3(-66f, 75.842f, 116f)),
|
||||
new ZoneBoundaryPositionOverride(134, 138, new Vector3(-377f, 33.111f, -603f), new Vector3(814f, 49.229f, 397f)),
|
||||
new ZoneBoundaryPositionOverride(134, 135, new Vector3(212f, 65.744f, 285f), new Vector3(229f, 74.737f, -343f)),
|
||||
new ZoneBoundaryPositionOverride(134, 137, new Vector3(-163f, 35.996f, -736f), new Vector3(-116f, 70.246f, 48f)),
|
||||
new ZoneBoundaryPositionOverride(135, 137, new Vector3(572f, 96.436f, -525f), new Vector3(-132f, 69.846f, 744f)),
|
||||
new ZoneBoundaryPositionOverride(135, 137, new Vector3(695f, 80.076f, -390f), new Vector3(246f, 56.349f, 838f)),
|
||||
new ZoneBoundaryPositionOverride(137, 139, new Vector3(78f, 80.429f, -120f), new Vector3(719f, 0.174f, 216f)),
|
||||
new ZoneBoundaryPositionOverride(138, 139, new Vector3(412f, 31.556f, -12f), new Vector3(-478f, 2.01f, 289f)),
|
||||
new ZoneBoundaryPositionOverride(139, 180, new Vector3(-340f, 48.85f, -18f), new Vector3(-325f, 50.2f, -81f)),
|
||||
new ZoneBoundaryPositionOverride(139, 180, new Vector3(286f, 42.172f, -203f), new Vector3(246f, 53.046f, -251f)),
|
||||
new ZoneBoundaryPositionOverride(132, 133, new Vector3(-105f, 1.287f, 7f), new Vector3(-127f, 5.299f, -36f)),
|
||||
new ZoneBoundaryPositionOverride(132, 133, new Vector3(12f, 1.256f, -16f), new Vector3(13f, 8.372f, -86f)),
|
||||
new ZoneBoundaryPositionOverride(132, 133, new Vector3(102f, 5.329f, 13f), new Vector3(138f, 10.897f, -20f)),
|
||||
new ZoneBoundaryPositionOverride(132, 148, new Vector3(157f, -12.989f, 158f), new Vector3(129f, 25.16f, -318f)),
|
||||
new ZoneBoundaryPositionOverride(133, 154, new Vector3(-211f, 10.226f, -96f), new Vector3(457f, -1.486f, 192f)),
|
||||
new ZoneBoundaryPositionOverride(148, 152, new Vector3(387f, -3.319f, -186f), new Vector3(-514f, 19.031f, 278f)),
|
||||
new ZoneBoundaryPositionOverride(148, 154, new Vector3(-502f, 74.232f, -356f), new Vector3(19f, -54.794f, 532f)),
|
||||
new ZoneBoundaryPositionOverride(148, 153, new Vector3(160f, -23.874f, 552f), new Vector3(-369f, 29.987f, -244f)),
|
||||
new ZoneBoundaryPositionOverride(152, 153, new Vector3(-160f, 4f, 451f), new Vector3(278f, 11.017f, -260f)),
|
||||
new ZoneBoundaryPositionOverride(145, 153, new Vector3(371f, 32.883f, -298f), new Vector3(-287f, -0.348f, 700f)),
|
||||
new ZoneBoundaryPositionOverride(154, 155, new Vector3(-370f, -4.539f, 184f), new Vector3(10f, 181.363f, 589f)),
|
||||
new ZoneBoundaryPositionOverride(155, 156, new Vector3(-219f, 217.069f, 711f), new Vector3(127f, 31.384f, -773f)),
|
||||
new ZoneBoundaryPositionOverride(147, 156, new Vector3(-96f, 84.427f, -417f), new Vector3(-419f, -3.217f, -116f)),
|
||||
new ZoneBoundaryPositionOverride(130, 131, new Vector3(-119f, 9.829f, -9f), new Vector3(-112f, 7.526f, -9f)),
|
||||
new ZoneBoundaryPositionOverride(130, 131, new Vector3(-119f, 9.831f, 9f), new Vector3(-111f, 7.194f, 9f)),
|
||||
new ZoneBoundaryPositionOverride(130, 131, new Vector3(-11f, 10f, -40f), new Vector3(-9f, 10.288f, -33f)),
|
||||
new ZoneBoundaryPositionOverride(130, 131, new Vector3(62f, 8.076f, -85f), new Vector3(64f, 8.076f, -83f)),
|
||||
new ZoneBoundaryPositionOverride(130, 131, new Vector3(96f, 4f, -108f), new Vector3(92f, 4f, -111f)),
|
||||
new ZoneBoundaryPositionOverride(130, 140, new Vector3(-182f, 14.006f, -14f), new Vector3(473f, 96.621f, 160f)),
|
||||
new ZoneBoundaryPositionOverride(130, 141, new Vector3(44f, 4.01f, -165f), new Vector3(-117f, 18.366f, 340f)),
|
||||
new ZoneBoundaryPositionOverride(131, 141, new Vector3(165f, 4.01f, 44f), new Vector3(12f, 18.365f, 564f)),
|
||||
new ZoneBoundaryPositionOverride(140, 141, new Vector3(262f, 53.511f, -11f), new Vector3(-407f, -1.62f, 99f)),
|
||||
new ZoneBoundaryPositionOverride(141, 145, new Vector3(451f, -18f, -180f), new Vector3(-567f, -18.959f, 340f)),
|
||||
new ZoneBoundaryPositionOverride(141, 147, new Vector3(-28f, 33f, -496f), new Vector3(37f, 6.127f, 514f)),
|
||||
new ZoneBoundaryPositionOverride(141, 146, new Vector3(234f, 2.751f, 675f), new Vector3(-429f, 12.863f, -428f)),
|
||||
new ZoneBoundaryPositionOverride(145, 146, new Vector3(-169f, -46.446f, 491f), new Vector3(-28f, 17.296f, -769f)),
|
||||
new ZoneBoundaryPositionOverride(397, 418, new Vector3(468f, 224.429f, 884f), new Vector3(-191f, 14.727f, -60f)),
|
||||
new ZoneBoundaryPositionOverride(418, 419, new Vector3(-154f, 32.286f, -145f), new Vector3(-317f, -26.296f, -62f)),
|
||||
new ZoneBoundaryPositionOverride(418, 419, new Vector3(-56f, 21.592f, -99f), new Vector3(-14f, -13.754f, -65f)),
|
||||
new ZoneBoundaryPositionOverride(418, 419, new Vector3(52f, 30.716f, -83f), new Vector3(14f, -13.754f, -65f)),
|
||||
new ZoneBoundaryPositionOverride(418, 419, new Vector3(158f, -19.477f, 53f), new Vector3(262f, -13.735f, -105f)),
|
||||
new ZoneBoundaryPositionOverride(401, 419, new Vector3(-942f, -226.936f, -291f), new Vector3(175f, -14.501f, 43f)),
|
||||
new ZoneBoundaryPositionOverride(401, 419, new Vector3(-633f, -224.093f, 860f), new Vector3(150f, -14.5f, 52f)),
|
||||
new ZoneBoundaryPositionOverride(397, 401, new Vector3(455f, 130.8f, -915f), new Vector3(-890f, -227.259f, -889f)),
|
||||
new ZoneBoundaryPositionOverride(397, 398, new Vector3(-852f, 117.683f, -658f), new Vector3(874f, -3.146f, 352f)),
|
||||
new ZoneBoundaryPositionOverride(397, 399, new Vector3(-158f, 221.953f, 744f), new Vector3(766f, 290.146f, 507f)),
|
||||
new ZoneBoundaryPositionOverride(398, 399, new Vector3(-803f, -122.91f, 578f), new Vector3(913f, 163.418f, 191f)),
|
||||
new ZoneBoundaryPositionOverride(399, 478, new Vector3(-231f, 107.323f, -636f), new Vector3(71f, 205f, 147f)),
|
||||
new ZoneBoundaryPositionOverride(399, 478, new Vector3(-545f, 156.293f, -522f), new Vector3(149f, 207f, 118f)),
|
||||
new ZoneBoundaryPositionOverride(612, 635, new Vector3(486f, 61.699f, -559f), new Vector3(-31f, 12.681f, 167f)),
|
||||
new ZoneBoundaryPositionOverride(620, 635, new Vector3(-662f, 51.124f, -795f), new Vector3(132f, -0.504f, -4f)),
|
||||
new ZoneBoundaryPositionOverride(612, 620, new Vector3(853f, 85.714f, 366f), new Vector3(-795f, 296.793f, 215f)),
|
||||
new ZoneBoundaryPositionOverride(620, 621, new Vector3(594f, 343.049f, 420f), new Vector3(-791f, 46.5f, -16f)),
|
||||
new ZoneBoundaryPositionOverride(613, 628, new Vector3(881f, 1.179f, 883f), new Vector3(-137f, -7f, -59f)),
|
||||
new ZoneBoundaryPositionOverride(613, 614, new Vector3(-829f, 20.259f, -261f), new Vector3(839f, 99.633f, -428f)),
|
||||
new ZoneBoundaryPositionOverride(613, 622, new Vector3(-745f, -2.049f, -869f), new Vector3(544f, -21.838f, 703f)),
|
||||
new ZoneBoundaryPositionOverride(614, 622, new Vector3(514f, 19.45f, -885f), new Vector3(-163f, 0.607f, 856f)),
|
||||
new ZoneBoundaryPositionOverride(813, 819, new Vector3(836f, 37.693f, 407f), new Vector3(-246f, -3.09f, 0f)),
|
||||
new ZoneBoundaryPositionOverride(813, 817, new Vector3(884f, 42.46f, -291f), new Vector3(-818f, 0.3f, 748f)),
|
||||
new ZoneBoundaryPositionOverride(813, 815, new Vector3(536f, -5.653f, 868f), new Vector3(-621f, 60.577f, -678f)),
|
||||
new ZoneBoundaryPositionOverride(813, 816, new Vector3(-325f, 116.469f, -839f), new Vector3(-696f, 111.428f, 841f)),
|
||||
new ZoneBoundaryPositionOverride(814, 820, new Vector3(174f, 58.982f, 884f), new Vector3(0f, -17.306f, -166f)),
|
||||
new ZoneBoundaryPositionOverride(957, 963, new Vector3(580f, 55.259f, -685f), new Vector3(102f, -32f, 228f)),
|
||||
new ZoneBoundaryPositionOverride(1185, 1188, new Vector3(-300f, 0f, 130f), new Vector3(-286f, 14.085f, -856f)),
|
||||
new ZoneBoundaryPositionOverride(1185, 1187, new Vector3(-272.321f, 1.7377548E-05f, 95.65973f), new Vector3(664f, -122.382f, -456f)),
|
||||
new ZoneBoundaryPositionOverride(1187, 1188, new Vector3(734f, 72.722f, 638f), new Vector3(-900f, 143.041f, 475f)),
|
||||
new ZoneBoundaryPositionOverride(1186, 1191, new Vector3(0f, -5.95f, 302f), new Vector3(-293f, 52.353f, -866f)),
|
||||
new ZoneBoundaryPositionOverride(1190, 1191, new Vector3(-658f, 14.024f, -694f), new Vector3(657f, 147.219f, 758f)),
|
||||
new ZoneBoundaryPositionOverride(1185, 1190, new Vector3(42.59336f, 47.072277f, -401.224f), new Vector3(285f, 15.741f, 807f))
|
||||
});
|
||||
}
|
||||
145
SmartNav/SmartNav.Data/ZoneBoundaryPositionOverride.cs
Normal file
145
SmartNav/SmartNav.Data/ZoneBoundaryPositionOverride.cs
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
|
||||
namespace SmartNav.Data;
|
||||
|
||||
internal sealed record ZoneBoundaryPositionOverride(ushort TerritoryA, ushort TerritoryB, Vector3 PositionA, Vector3 PositionB)
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private Type EqualityContract
|
||||
{
|
||||
[CompilerGenerated]
|
||||
get
|
||||
{
|
||||
return _202A_206A_200B_206E_206E_206B_200B_206A_200E_200B_206B_206A_206C_206C_206D_200D_206E_200E_200D_200C_202E_200B_202E_202A_200B_200C_200E_200B_200F_202C_206E_200C_200C_202B_206C_206D_202A_200C_200E_200C_202E(typeof(ZoneBoundaryPositionOverride).TypeHandle);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = _202A_202D_202A_206A_206F_206D_200B_206E_200C_206D_206A_200E_200F_200C_202B_202C_206A_206B_202A_206B_200B_206A_202D_206D_206A_206F_200D_202C_206B_206A_200D_200C_200C_206C_202D_200C_200B_200E_202C_202E_202E();
|
||||
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(stringBuilder, global::_003CModule_003E._202C_206A_200E_202C_200C_206A_206A_202A_206C_200E_202D_200D_206C_206D_202D_200E_200B_202A_200B_206C_200C_202E_206D_202D_200F_206B_206E_200D_200C_206E_202B_206E_200C_206B_200E_200C_206D_200C_206B_202B_202E<string>(128434039));
|
||||
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(stringBuilder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(1547267250));
|
||||
int num = ((!PrintMembers(stringBuilder)) ? 377403111 : 377403110);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 377403111;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = 377403110;
|
||||
break;
|
||||
case 1:
|
||||
_200B_206D_206F_200B_200B_206F_202D_206A_200C_202E_202B_200F_200D_200C_200F_202C_206E_202D_206F_200D_202A_202D_206B_200B_200B_200E_202C_202C_206E_202B_200C_206E_206D_202E_202C_200D_200D_206E_206E_206E_202E(stringBuilder, ' ');
|
||||
num = 377403111;
|
||||
break;
|
||||
case 0:
|
||||
_200B_206D_206F_200B_200B_206F_202D_206A_200C_202E_202B_200F_200D_200C_200F_202C_206E_202D_206F_200D_202A_202D_206B_200B_200B_200E_202C_202C_206E_202B_200C_206E_206D_202E_202C_200D_200D_206E_206E_206E_202E(stringBuilder, '}');
|
||||
return _206F_206A_202C_202C_206E_206D_202C_202C_200C_200C_200E_202B_206E_206E_202A_200D_206C_206D_206B_202C_202B_200B_200C_206F_206C_202D_200B_206C_202A_202C_202E_202E_206B_200B_200B_206D_206A_206B_200F_206E_202E((object)stringBuilder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
[CompilerGenerated]
|
||||
private bool PrintMembers(StringBuilder builder)
|
||||
{
|
||||
_200D_206B_200F_200E_206C_202A_202A_200F_206F_200C_200C_202A_200B_202C_200D_202C_206E_202A_202D_202D_206E_200B_206C_200E_206D_202D_202D_206E_202C_206A_202E_200C_206A_200C_200E_206B_202B_206D_206B_202A_202E();
|
||||
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(-1709044676));
|
||||
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, TerritoryA.ToString());
|
||||
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(1792963311));
|
||||
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, TerritoryB.ToString());
|
||||
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, global::_003CModule_003E._206C_206C_200C_206D_206C_206F_202D_206B_206F_202C_200F_206A_200E_202A_202C_206F_200E_206A_200B_200F_202A_202C_206F_206A_200C_200D_200E_200E_202A_200C_206B_200E_206E_206C_200D_202B_206F_200C_202E_206E_202E<string>(1559417746));
|
||||
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, PositionA.ToString());
|
||||
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E<string>(900245019));
|
||||
_206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(builder, PositionB.ToString());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
public bool Equals(ZoneBoundaryPositionOverride? other)
|
||||
{
|
||||
int num = (((object)this == other) ? 975251074 : 975251072);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 975251074;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 4:
|
||||
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryA, other.TerritoryA)) ? 975251073 : 975251077);
|
||||
break;
|
||||
case 7:
|
||||
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryB, other.TerritoryB)) ? 975251073 : 975251076);
|
||||
break;
|
||||
case 1:
|
||||
num = ((!_202C_202A_200E_200C_206D_206A_206D_202C_206C_206A_200D_200C_202C_202B_202D_200E_202B_200D_202B_202C_202C_200C_200F_200B_202B_200C_202E_202D_202E_200E_200F_200F_202D_206B_206D_202C_206E_200E_206E_202A_202E(EqualityContract, other.EqualityContract)) ? 975251073 : 975251078);
|
||||
break;
|
||||
case 0:
|
||||
return true;
|
||||
case 2:
|
||||
num = (((object)other == null) ? 975251073 : 975251075);
|
||||
break;
|
||||
case 5:
|
||||
num = 975251072;
|
||||
break;
|
||||
case 8:
|
||||
return EqualityComparer<Vector3>.Default.Equals(PositionB, other.PositionB);
|
||||
case 3:
|
||||
return false;
|
||||
case 6:
|
||||
num = ((!EqualityComparer<Vector3>.Default.Equals(PositionA, other.PositionA)) ? 975251073 : 975251082);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEquatable<ZoneBoundaryPositionOverride>.Equals(ZoneBoundaryPositionOverride? other)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
||||
return this.Equals(other);
|
||||
}
|
||||
|
||||
static Type _202A_206A_200B_206E_206E_206B_200B_206A_200E_200B_206B_206A_206C_206C_206D_200D_206E_200E_200D_200C_202E_200B_202E_202A_200B_200C_200E_200B_200F_202C_206E_200C_200C_202B_206C_206D_202A_200C_200E_200C_202E(RuntimeTypeHandle P_0)
|
||||
{
|
||||
return Type.GetTypeFromHandle(P_0);
|
||||
}
|
||||
|
||||
static StringBuilder _202A_202D_202A_206A_206F_206D_200B_206E_200C_206D_206A_200E_200F_200C_202B_202C_206A_206B_202A_206B_200B_206A_202D_206D_206A_206F_200D_202C_206B_206A_200D_200C_200C_206C_202D_200C_200B_200E_202C_202E_202E()
|
||||
{
|
||||
return new StringBuilder();
|
||||
}
|
||||
|
||||
static StringBuilder _206C_206E_206B_206A_200E_200F_202A_200E_200D_200E_202A_200D_202D_200B_206D_200E_206A_200F_202B_202A_202D_206A_200B_206E_202C_206E_206A_206D_200E_200C_202B_202A_206F_200C_202E_206F_206E_206C_202B_206E_202E(StringBuilder P_0, string P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static StringBuilder _200B_206D_206F_200B_200B_206F_202D_206A_200C_202E_202B_200F_200D_200C_200F_202C_206E_202D_206F_200D_202A_202D_206B_200B_200B_200E_202C_202C_206E_202B_200C_206E_206D_202E_202C_200D_200D_206E_206E_206E_202E(StringBuilder P_0, char P_1)
|
||||
{
|
||||
return P_0.Append(P_1);
|
||||
}
|
||||
|
||||
static string _206F_206A_202C_202C_206E_206D_202C_202C_200C_200C_200E_202B_206E_206E_202A_200D_206C_206D_206B_202C_202B_200B_200C_206F_206C_202D_200B_206C_202A_202C_202E_202E_206B_200B_200B_206D_206A_206B_200F_206E_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static void _200D_206B_200F_200E_206C_202A_202A_200F_206F_200C_200C_202A_200B_202C_200D_202C_206E_202A_202D_202D_206E_200B_206C_200E_206D_202D_202D_206E_202C_206A_202E_200C_206A_200C_200E_206B_202B_206D_206B_202A_202E()
|
||||
{
|
||||
RuntimeHelpers.EnsureSufficientExecutionStack();
|
||||
}
|
||||
|
||||
static bool _202C_202A_200E_200C_206D_206A_206D_202C_206C_206A_200D_200C_202C_202B_202D_200E_202B_200D_202B_202C_202C_200C_200F_200B_202B_200C_202E_202D_202E_200E_200F_200F_202D_206B_206D_202C_206E_200E_206E_202A_202E(Type P_0, Type P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
199
SmartNav/SmartNav.Data/ZoneSubRegionService.cs
Normal file
199
SmartNav/SmartNav.Data/ZoneSubRegionService.cs
Normal file
|
|
@ -0,0 +1,199 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SmartNav.Model.Navigation;
|
||||
|
||||
namespace SmartNav.Data;
|
||||
|
||||
public sealed class ZoneSubRegionService
|
||||
{
|
||||
private readonly Dictionary<uint, TerritorySubRegions> _regions = new Dictionary<uint, TerritorySubRegions>();
|
||||
|
||||
public IReadOnlyDictionary<uint, TerritorySubRegions> AllRegions => _regions;
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public ZoneSubRegionService(SmartNavDataOptions dataOptions, ILogger<ZoneSubRegionService> logger)
|
||||
{
|
||||
DirectoryInfo? devSourceDirectory = dataOptions.DevSourceDirectory;
|
||||
IEnumerator<KeyValuePair<string, TerritorySubRegions>> enumerator = _206A_202C_202C_200B_206D_202D_200F_200F_200B_206E_200C_202B_200F_206E_206B_202E_202E_202C_200E_200E_206A_206D_202A_200C_200C_202D_206D_202E_200E_200C_206A_202E_200D_200F_202D_206A_206D_206F_200E_206C_202E((devSourceDirectory != null) ? _200D_202A_206E_200F_202A_206C_206B_206C_206E_206A_202C_206F_206B_202C_202E_206C_200C_200F_200F_200D_206A_206B_206F_206B_206D_202A_202E_200F_202C_206D_200B_206B_206A_200C_200F_202A_202A_200E_200C_202B_202E((FileSystemInfo)devSourceDirectory) : null).GetEnumerator();
|
||||
try
|
||||
{
|
||||
while (_206A_200B_200B_206A_202C_202D_202D_202D_206F_206A_200F_206C_206F_202A_200D_202E_200D_200F_200B_200F_206D_202C_200E_200D_200B_206E_206B_206E_200E_206D_202E_200D_202C_206C_206C_202B_206B_206B_206B_206D_202E((IEnumerator)enumerator))
|
||||
{
|
||||
var (s, value) = (KeyValuePair<string, TerritorySubRegions>)(ref enumerator.Current);
|
||||
if (uint.TryParse(s, out var result))
|
||||
{
|
||||
_regions[result] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (enumerator != null)
|
||||
{
|
||||
_202E_202A_202C_202A_206F_202E_200B_206E_202D_206F_200D_202E_206D_202D_206A_206F_202B_200D_202C_202D_200D_200B_206A_200E_202C_206C_200D_202B_206D_202D_200D_202E_202A_202B_202A_206F_200D_206C_200E_206B_202E((IDisposable)enumerator);
|
||||
}
|
||||
}
|
||||
_200E_202C_200B_200F_202C_200D_206B_200B_202A_206F_206B_202B_206F_200C_202E_200D_200B_202B_200C_206A_206D_206B_202A_202B_200C_200B_202D_206E_202D_202E_206E_206E_200B_200D_200F_200E_200E_206D_200E_200F_202E((ILogger)logger, global::_003CModule_003E._206C_200D_200D_206D_202E_200F_206A_206A_206D_202A_202D_200D_206F_206A_200F_206C_200F_202D_206B_202B_200B_202A_200B_202A_206A_206A_200D_206B_202E_206B_206F_206D_200E_202B_202C_202B_200B_202A_202C_206A_202E<string>(-1099723978), new object[1] { _regions.Count });
|
||||
}
|
||||
|
||||
public bool HasSubRegions(uint territoryId)
|
||||
{
|
||||
return _regions.ContainsKey(territoryId);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public string? GetSubRegionId(uint territoryId, float x, float y, float z)
|
||||
{
|
||||
int num = (_regions.TryGetValue(territoryId, out TerritorySubRegions value) ? 728841310 : 728841311);
|
||||
SubRegionDefinition current = default(SubRegionDefinition);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 728841310;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
goto IL_0057;
|
||||
case 1:
|
||||
return null;
|
||||
case 0:
|
||||
{
|
||||
using (List<SubRegionDefinition>.Enumerator enumerator = _206C_202E_200E_202E_206C_206D_206C_202E_202E_206A_200C_206F_206C_202A_202A_206A_200D_200F_206C_200D_202D_202B_206C_206F_200F_202D_206F_200E_202D_202E_202E_202D_202C_202E_202D_206E_200B_206B_202D_206A_202E(value).GetEnumerator())
|
||||
{
|
||||
num = 607334794;
|
||||
while (true)
|
||||
{
|
||||
int num5 = num;
|
||||
num3 = 607334794;
|
||||
num4 = num5;
|
||||
int num6 = num4 + num3;
|
||||
int num7 = num4 & num3;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 0:
|
||||
num = (enumerator.MoveNext() ? 607334798 : 607334792);
|
||||
break;
|
||||
case 4:
|
||||
current = enumerator.Current;
|
||||
num = ((!_202E_200C_202A_206E_206C_202E_206F_202B_200F_202C_206E_202E_206D_200D_202B_200D_202C_206C_202B_206B_206A_202C_200D_200D_202B_202C_202D_200B_200C_200C_200D_202B_202B_202A_200F_206B_206F_206E_202D_202D_202E(current, x, y, z)) ? 607334794 : 607334795);
|
||||
break;
|
||||
case 3:
|
||||
num = 607334794;
|
||||
break;
|
||||
case 1:
|
||||
return _206D_200C_202E_206A_206F_200B_202D_202B_206D_206E_206E_200F_206C_206E_206E_200F_202D_206E_202E_206C_206E_202E_202B_202A_206E_206B_202C_202D_200E_202B_200F_206E_200B_202A_200C_206E_200C_202C_202B_200F_202E(current);
|
||||
case 2:
|
||||
goto end_IL_007d;
|
||||
}
|
||||
continue;
|
||||
end_IL_007d:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return global::_003CModule_003E._200B_200C_206E_200D_206E_206D_200D_206D_206B_206F_202C_206B_206D_202D_206D_206D_202D_202E_200B_200E_206D_206A_206F_202A_202A_200F_206F_202E_206F_206A_206C_206F_202B_202B_206C_200E_200E_200D_206E_206D_202E<string>(-1484802432);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
IL_0057:
|
||||
num = 728841311;
|
||||
}
|
||||
}
|
||||
|
||||
public IReadOnlyList<SubRegionDefinition>? GetSubRegions(uint territoryId)
|
||||
{
|
||||
TerritorySubRegions value;
|
||||
int num = (_regions.TryGetValue(territoryId, out value) ? 1403983688 : 1403983691);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1403983689;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
goto IL_004e;
|
||||
case 2:
|
||||
return null;
|
||||
case 1:
|
||||
return _206C_202E_200E_202E_206C_206D_206C_202E_202E_206A_200C_206F_206C_202A_202A_206A_200D_200F_206C_200D_202D_202B_206C_206F_200F_202D_206F_200E_202D_202E_202E_202D_202C_202E_202D_206E_200B_206B_202D_206A_202E(value);
|
||||
}
|
||||
continue;
|
||||
IL_004e:
|
||||
num = 1403983691;
|
||||
}
|
||||
}
|
||||
|
||||
public IReadOnlyList<SubRegionConnector>? GetConnectors(uint territoryId)
|
||||
{
|
||||
TerritorySubRegions value;
|
||||
int num = (_regions.TryGetValue(territoryId, out value) ? 240767514 : 240767513);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 240767515;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
goto IL_004e;
|
||||
case 1:
|
||||
return _202B_202E_206A_206C_202D_200B_202B_206A_202E_200E_200C_206D_206D_200E_206C_206E_206D_200D_206F_206C_206D_202D_200E_206F_202E_202E_200E_200F_202A_202E_206D_202A_200F_202E_200D_202A_206A_202D_202A_206E_202E(value);
|
||||
case 2:
|
||||
return null;
|
||||
}
|
||||
continue;
|
||||
IL_004e:
|
||||
num = 240767513;
|
||||
}
|
||||
}
|
||||
|
||||
static string _200D_202A_206E_200F_202A_206C_206B_206C_206E_206A_202C_206F_206B_202C_202E_206C_200C_200F_200F_200D_206A_206B_206F_206B_206D_202A_202E_200F_202C_206D_200B_206B_206A_200C_200F_202A_202A_200E_200C_202B_202E(FileSystemInfo P_0)
|
||||
{
|
||||
return P_0.FullName;
|
||||
}
|
||||
|
||||
static IReadOnlyDictionary<string, TerritorySubRegions> _206A_202C_202C_200B_206D_202D_200F_200F_200B_206E_200C_202B_200F_206E_206B_202E_202E_202C_200E_200E_206A_206D_202A_200C_200C_202D_206D_202E_200E_200C_206A_202E_200D_200F_202D_206A_206D_206F_200E_206C_202E(string P_0)
|
||||
{
|
||||
return AssemblyZoneSubRegionLoader.GetRegions(P_0);
|
||||
}
|
||||
|
||||
static bool _206A_200B_200B_206A_202C_202D_202D_202D_206F_206A_200F_206C_206F_202A_200D_202E_200D_200F_200B_200F_206D_202C_200E_200D_200B_206E_206B_206E_200E_206D_202E_200D_202C_206C_206C_202B_206B_206B_206B_206D_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _202E_202A_202C_202A_206F_202E_200B_206E_202D_206F_200D_202E_206D_202D_206A_206F_202B_200D_202C_202D_200D_200B_206A_200E_202C_206C_200D_202B_206D_202D_200D_202E_202A_202B_202A_206F_200D_206C_200E_206B_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static void _200E_202C_200B_200F_202C_200D_206B_200B_202A_206F_206B_202B_206F_200C_202E_200D_200B_202B_200C_206A_206D_206B_202A_202B_200C_200B_202D_206E_202D_202E_206E_206E_200B_200D_200F_200E_200E_206D_200E_200F_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
|
||||
static List<SubRegionDefinition> _206C_202E_200E_202E_206C_206D_206C_202E_202E_206A_200C_206F_206C_202A_202A_206A_200D_200F_206C_200D_202D_202B_206C_206F_200F_202D_206F_200E_202D_202E_202E_202D_202C_202E_202D_206E_200B_206B_202D_206A_202E(TerritorySubRegions P_0)
|
||||
{
|
||||
return P_0.SubRegions;
|
||||
}
|
||||
|
||||
static bool _202E_200C_202A_206E_206C_202E_206F_202B_200F_202C_206E_202E_206D_200D_202B_200D_202C_206C_202B_206B_206A_202C_200D_200D_202B_202C_202D_200B_200C_200C_200D_202B_202B_202A_200F_206B_206F_206E_202D_202D_202E(SubRegionDefinition P_0, float P_1, float P_2, float P_3)
|
||||
{
|
||||
return P_0.Contains(P_1, P_2, P_3);
|
||||
}
|
||||
|
||||
static string _206D_200C_202E_206A_206F_200B_202D_202B_206D_206E_206E_200F_206C_206E_206E_200F_202D_206E_202E_206C_206E_202E_202B_202A_206E_206B_202C_202D_200E_202B_200F_206E_200B_202A_200C_206E_200C_202C_202B_200F_202E(SubRegionDefinition P_0)
|
||||
{
|
||||
return P_0.Id;
|
||||
}
|
||||
|
||||
static List<SubRegionConnector> _202B_202E_206A_206C_202D_200B_202B_206A_202E_200E_200C_206D_206D_200E_206C_206E_206D_200D_206F_206C_206D_202D_200E_206F_202E_202E_200E_200F_202A_202E_206D_202A_200F_202E_200D_202A_206A_202D_202A_206E_202E(TerritorySubRegions P_0)
|
||||
{
|
||||
return P_0.Connectors;
|
||||
}
|
||||
}
|
||||
156
SmartNav/SmartNav.Graph/NavEdge.cs
Normal file
156
SmartNav/SmartNav.Graph/NavEdge.cs
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
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;
|
||||
}
|
||||
}
|
||||
14
SmartNav/SmartNav.Graph/NavEdgeType.cs
Normal file
14
SmartNav/SmartNav.Graph/NavEdgeType.cs
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
namespace SmartNav.Graph;
|
||||
|
||||
public enum NavEdgeType
|
||||
{
|
||||
Teleport,
|
||||
WithinZone,
|
||||
AethernetHop,
|
||||
ZoneBoundary,
|
||||
Warp,
|
||||
ChocoboTaxi,
|
||||
Return,
|
||||
SubRegionTransport,
|
||||
TicketTeleport
|
||||
}
|
||||
303
SmartNav/SmartNav.Graph/NavGraph.cs
Normal file
303
SmartNav/SmartNav.Graph/NavGraph.cs
Normal file
|
|
@ -0,0 +1,303 @@
|
|||
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>>();
|
||||
|
||||
private readonly Dictionary<uint, List<string>> _territoryIndex = new Dictionary<uint, List<string>>();
|
||||
|
||||
public IReadOnlyDictionary<string, NavNode> Nodes => _nodes;
|
||||
|
||||
public IReadOnlyDictionary<string, List<NavEdge>> Adjacency => _adjacency;
|
||||
|
||||
public IReadOnlyDictionary<uint, List<string>> TerritoryIndex => _territoryIndex;
|
||||
|
||||
public int NodeCount => _nodes.Count;
|
||||
|
||||
public int EdgeCount
|
||||
{
|
||||
get
|
||||
{
|
||||
int num = 0;
|
||||
using Dictionary<string, List<NavEdge>>.ValueCollection.Enumerator enumerator = _adjacency.Values.GetEnumerator();
|
||||
int num2 = 165728447;
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void AddNode(NavNode node)
|
||||
{
|
||||
bool num = !_nodes.ContainsKey(node.Id);
|
||||
_nodes[node.Id] = node;
|
||||
int num2 = ((!num) ? (-2079391440) : (-2079391437));
|
||||
List<string> value = default(List<string>);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -2079391439;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void AddEdge(NavEdge edge)
|
||||
{
|
||||
List<NavEdge> value;
|
||||
int num = (_adjacency.TryGetValue(edge.FromNodeId, out value) ? (-2081875728) : (-2081875725));
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void ReplaceEdge(NavEdge edge)
|
||||
{
|
||||
List<NavEdge> value;
|
||||
int num = (_adjacency.TryGetValue(edge.FromNodeId, out value) ? (-1414739437) : (-1414739440));
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void RemoveEdges(string fromNodeId, Predicate<NavEdge> predicate)
|
||||
{
|
||||
List<NavEdge> value;
|
||||
int num = ((!_adjacency.TryGetValue(fromNodeId, out value)) ? 1405127907 : 1405127904);
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public NavNode? GetNode(string nodeId)
|
||||
{
|
||||
NavNode value;
|
||||
int num = (_nodes.TryGetValue(nodeId, out value) ? 640244294 : 640244295);
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
public IReadOnlyList<NavEdge> GetEdges(string nodeId)
|
||||
{
|
||||
List<NavEdge> value;
|
||||
int num = (_adjacency.TryGetValue(nodeId, out value) ? 577743021 : 577743022);
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
public IReadOnlyList<string> GetNodesInTerritory(uint territoryId)
|
||||
{
|
||||
List<string> value;
|
||||
int num = (_territoryIndex.TryGetValue(territoryId, out value) ? 111271957 : 111271958);
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
1615
SmartNav/SmartNav.Graph/NavNode.cs
Normal file
1615
SmartNav/SmartNav.Graph/NavNode.cs
Normal file
File diff suppressed because it is too large
Load diff
41
SmartNav/SmartNav.csproj
Normal file
41
SmartNav/SmartNav.csproj
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<AssemblyName>SmartNav</AssemblyName>
|
||||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
<TargetFramework>netcoreapp1.0</TargetFramework>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<LangVersion>12.0</LangVersion>
|
||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup />
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<Reference Include="SmartNav.Model">
|
||||
<HintPath>..\..\SmartNav.Model.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Logging.Abstractions">
|
||||
<HintPath>..\..\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Dalamud">
|
||||
<HintPath>C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\15.0.3.2\Dalamud.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>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
83
SmartNav/SmartNav/CostCalculator.cs
Normal file
83
SmartNav/SmartNav/CostCalculator.cs
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
using System;
|
||||
using System.Numerics;
|
||||
using SmartNav.Model;
|
||||
|
||||
namespace SmartNav;
|
||||
|
||||
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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static float EstimateTeleportTime()
|
||||
{
|
||||
return 7f;
|
||||
}
|
||||
|
||||
public static float EstimateAethernetHopTime()
|
||||
{
|
||||
return 2f;
|
||||
}
|
||||
|
||||
private static float Estimate2DDistance(Vector3 from, Vector3 to)
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
22
SmartNav/SmartNav/IPlayerContext.cs
Normal file
22
SmartNav/SmartNav/IPlayerContext.cs
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
using SmartNav.Model;
|
||||
|
||||
namespace SmartNav;
|
||||
|
||||
public interface IPlayerContext
|
||||
{
|
||||
uint? CurrentMsqQuestId { get; }
|
||||
|
||||
int GilReserve { get; }
|
||||
|
||||
bool PreferFreeTravel { get; }
|
||||
|
||||
bool UseTeleportTickets { get; }
|
||||
|
||||
bool IsAetheryteUnlocked(EAetheryteLocation aetheryte);
|
||||
|
||||
bool IsFlyingUnlocked(uint territoryId);
|
||||
|
||||
bool IsTeleportUnlocked();
|
||||
|
||||
bool IsReturnAvailable();
|
||||
}
|
||||
12
SmartNav/SmartNav/ITerritoryInfo.cs
Normal file
12
SmartNav/SmartNav/ITerritoryInfo.cs
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
namespace SmartNav;
|
||||
|
||||
public interface ITerritoryInfo
|
||||
{
|
||||
string? GetName(uint territoryId);
|
||||
|
||||
string GetNameAndId(uint territoryId);
|
||||
|
||||
byte GetExVersion(uint territoryId);
|
||||
|
||||
bool CanUseMount(uint territoryId);
|
||||
}
|
||||
1033
SmartNav/SmartNav/NavGraphBuilder.cs
Normal file
1033
SmartNav/SmartNav/NavGraphBuilder.cs
Normal file
File diff suppressed because it is too large
Load diff
1710
SmartNav/SmartNav/NavGraphView.cs
Normal file
1710
SmartNav/SmartNav/NavGraphView.cs
Normal file
File diff suppressed because it is too large
Load diff
1481
SmartNav/SmartNav/NavInstruction.cs
Normal file
1481
SmartNav/SmartNav/NavInstruction.cs
Normal file
File diff suppressed because it is too large
Load diff
743
SmartNav/SmartNav/NavRouter.cs
Normal file
743
SmartNav/SmartNav/NavRouter.cs
Normal file
|
|
@ -0,0 +1,743 @@
|
|||
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;
|
||||
using SmartNav.Model;
|
||||
|
||||
namespace SmartNav;
|
||||
|
||||
public sealed class NavRouter
|
||||
{
|
||||
internal readonly record struct RouteCost(float Time, int Gil, int Hops) : IComparable<RouteCost>
|
||||
{
|
||||
public static readonly RouteCost Max = new RouteCost(float.MaxValue, int.MaxValue, int.MaxValue);
|
||||
|
||||
public RouteCost Add(NavEdge edge, float penalty)
|
||||
{
|
||||
return new RouteCost(Time + edge.TimeCostSeconds + penalty, Gil + edge.GilCost, Hops + 1);
|
||||
}
|
||||
|
||||
public int CompareTo(RouteCost other)
|
||||
{
|
||||
int num = Time.CompareTo(other.Time);
|
||||
int num2 = ((num == 0) ? (-471116150) : (-471116149));
|
||||
int num6 = default(int);
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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 = 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[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();
|
||||
}
|
||||
}
|
||||
|
||||
private readonly NavGraphBuilder _graphBuilder;
|
||||
|
||||
private readonly NavGraphView _graphView;
|
||||
|
||||
private readonly ITerritoryInfo _territoryInfo;
|
||||
|
||||
private readonly ILogger<NavRouter> _logger;
|
||||
|
||||
private volatile Lazy<NavGraph> _staticGraph;
|
||||
|
||||
private const float ReRoutePenaltySeconds = 1000000f;
|
||||
|
||||
public NavGraph StaticGraph => _staticGraph.Value;
|
||||
|
||||
public NavRouter(NavGraphBuilder graphBuilder, NavGraphView graphView, ITerritoryInfo territoryInfo, ILogger<NavRouter> logger)
|
||||
{
|
||||
_graphBuilder = graphBuilder;
|
||||
_graphView = graphView;
|
||||
_territoryInfo = territoryInfo;
|
||||
_logger = logger;
|
||||
_staticGraph = new Lazy<NavGraph>(_graphBuilder.Build, LazyThreadSafetyMode.ExecutionAndPublication);
|
||||
}
|
||||
|
||||
public void InvalidateStaticGraph()
|
||||
{
|
||||
_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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal static List<(string NodeId, NavEdge? ViaEdge)>? Dijkstra(NavGraph graph, string startId, string endId, IReadOnlySet<string>? penalizedTargets)
|
||||
{
|
||||
Dictionary<string, RouteCost> dictionary = new Dictionary<string, RouteCost>();
|
||||
Dictionary<string, (string, NavEdge)?> dictionary2 = new Dictionary<string, (string, NavEdge)?>();
|
||||
HashSet<string> hashSet = new HashSet<string>();
|
||||
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
|
||||
{
|
||||
int num = 1145583331;
|
||||
string current = default(string);
|
||||
while (true)
|
||||
{
|
||||
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)
|
||||
{
|
||||
int num7 = num;
|
||||
int num3 = -807240816;
|
||||
int num4 = num7;
|
||||
int num8 = num4 + num3;
|
||||
int num9 = num4 & num3;
|
||||
switch (num8 - (num9 + num9))
|
||||
{
|
||||
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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
[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)
|
||||
{
|
||||
int num5 = num4;
|
||||
int num6 = -1379840964;
|
||||
int num7 = num5;
|
||||
int num8 = num7 + num6;
|
||||
int num9 = num7 & num6;
|
||||
switch (num8 - (num9 + num9))
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1554241772;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static bool IsFlyingSegment(NavNode from, PlayerNavState playerState)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
144
SmartNav/SmartNav/PlayerNavState.cs
Normal file
144
SmartNav/SmartNav/PlayerNavState.cs
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using SmartNav.Model;
|
||||
|
||||
namespace SmartNav;
|
||||
|
||||
public sealed class PlayerNavState
|
||||
{
|
||||
public required uint CurrentTerritoryId { get; init; }
|
||||
|
||||
public required Vector3 CurrentPosition { get; init; }
|
||||
|
||||
public required int Gil { get; init; }
|
||||
|
||||
public required int GilReserve { get; init; }
|
||||
|
||||
public required IReadOnlySet<EAetheryteLocation> UnlockedAetherytes { get; init; }
|
||||
|
||||
public required EAetheryteLocation HomeAetheryte { get; init; }
|
||||
|
||||
public required EAetheryteLocation? FreeAetheryte { get; init; }
|
||||
|
||||
public required IReadOnlyDictionary<EAetheryteLocation, int> TeleportCosts { get; init; }
|
||||
|
||||
public required IReadOnlySet<uint> FlyingUnlockedTerritories { get; init; }
|
||||
|
||||
public required IReadOnlyDictionary<uint, int> MountSpeedLevels { get; init; }
|
||||
|
||||
public required bool TeleportUnlocked { get; init; }
|
||||
|
||||
public required bool ReturnAvailable { get; init; }
|
||||
|
||||
public required bool MountUnlocked { get; init; }
|
||||
|
||||
public required byte MaxExpansion { get; init; }
|
||||
|
||||
public required int CurrentLevel { get; init; }
|
||||
|
||||
public required uint? CurrentMsqQuestId { get; init; }
|
||||
|
||||
public required bool PreferFreeTravel { get; init; }
|
||||
|
||||
public required Func<uint, bool> QuestCompleteChecker { get; init; }
|
||||
|
||||
public required Func<uint, byte> QuestSequenceChecker { get; init; }
|
||||
|
||||
public IReadOnlySet<uint> AvailableTeleportTickets { get; init; } = new HashSet<uint>();
|
||||
|
||||
public bool CanAffordTeleport(int gilCost)
|
||||
{
|
||||
int num = ((gilCost == 0) ? (-1679548290) : (-1679548289));
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
public int GetTeleportCost(EAetheryteLocation aetheryte)
|
||||
{
|
||||
int value;
|
||||
int num = (TeleportCosts.TryGetValue(aetheryte, out value) ? 1986787901 : 1986787902);
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsAetheryteUnlocked(EAetheryteLocation aetheryte)
|
||||
{
|
||||
return UnlockedAetherytes.Contains(aetheryte);
|
||||
}
|
||||
|
||||
public bool IsFlyingUnlocked(uint territoryId)
|
||||
{
|
||||
return FlyingUnlockedTerritories.Contains(territoryId);
|
||||
}
|
||||
|
||||
public int GetMountSpeedLevel(uint territoryId)
|
||||
{
|
||||
int value;
|
||||
int num = (MountSpeedLevels.TryGetValue(territoryId, out value) ? (-743814756) : (-743814753));
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsQuestComplete(uint questRowId)
|
||||
{
|
||||
return QuestCompleteChecker(questRowId);
|
||||
}
|
||||
|
||||
public byte GetQuestSequence(uint questRowId)
|
||||
{
|
||||
return QuestSequenceChecker(questRowId);
|
||||
}
|
||||
}
|
||||
626
SmartNav/SmartNav/PlayerNavStateBuilder.cs
Normal file
626
SmartNav/SmartNav/PlayerNavStateBuilder.cs
Normal file
|
|
@ -0,0 +1,626 @@
|
|||
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;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.UI;
|
||||
using LLib.GameData;
|
||||
using Lumina.Excel;
|
||||
using Lumina.Excel.Sheets;
|
||||
using SmartNav.Data;
|
||||
using SmartNav.Model;
|
||||
|
||||
namespace SmartNav;
|
||||
|
||||
public class PlayerNavStateBuilder(IClientState clientState, IObjectTable objectTable, IAetheryteList aetheryteList, AetheryteData aetheryteData, TeleportTicketService teleportTicketService, IPlayerContext playerContext, IDataManager dataManager)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 339924908;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private HashSet<uint> BuildFlyingUnlockedSet()
|
||||
{
|
||||
HashSet<uint> hashSet = new HashSet<uint>();
|
||||
HashSet<uint> hashSet2 = new HashSet<uint>();
|
||||
IEnumerator<EAetheryteLocation> enumerator = aetheryteData.Locations.Keys.GetEnumerator();
|
||||
try
|
||||
{
|
||||
int num = -1033431506;
|
||||
ushort value = default(ushort);
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 2051337215;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
continue;
|
||||
IL_0068:
|
||||
num = 2051337214;
|
||||
}
|
||||
}
|
||||
|
||||
private unsafe static int GetCurrentGil()
|
||||
{
|
||||
InventoryManager* ptr = InventoryManager.Instance();
|
||||
int num = ((ptr != null) ? (-57715473) : (-57715476));
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
462
SmartNav/SmartNav/ReRouteDecision.cs
Normal file
462
SmartNav/SmartNav/ReRouteDecision.cs
Normal file
|
|
@ -0,0 +1,462 @@
|
|||
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);
|
||||
}
|
||||
}
|
||||
|
||||
[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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[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);
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
188
SmartNav/SmartNav/ReRoutePolicy.cs
Normal file
188
SmartNav/SmartNav/ReRoutePolicy.cs
Normal file
|
|
@ -0,0 +1,188 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace SmartNav;
|
||||
|
||||
public sealed class ReRoutePolicy(NavRouter navRouter, PlayerNavStateBuilder playerNavStateBuilder, RouteInstructionBuilder instructionBuilder, WarpFailureTracker warpFailureTracker, ILogger<ReRoutePolicy> logger)
|
||||
{
|
||||
private uint _destinationTerritoryId;
|
||||
|
||||
private Vector3 _destinationPosition;
|
||||
|
||||
private bool _hasDestination;
|
||||
|
||||
private int _reRouteCount;
|
||||
|
||||
private readonly HashSet<string> _penalizedTargets = new HashSet<string>();
|
||||
|
||||
private const int MaxReRoutes = 3;
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public void SetDestination(uint territoryId, Vector3 position)
|
||||
{
|
||||
int num = ((!_hasDestination) ? 887432114 : 887432119);
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void ClearDestination()
|
||||
{
|
||||
_hasDestination = false;
|
||||
_reRouteCount = 0;
|
||||
_penalizedTargets.Clear();
|
||||
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)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1235919696;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
512
SmartNav/SmartNav/RouteInstructionBuilder.cs
Normal file
512
SmartNav/SmartNav/RouteInstructionBuilder.cs
Normal file
|
|
@ -0,0 +1,512 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SmartNav.Data;
|
||||
using SmartNav.Graph;
|
||||
using SmartNav.Model.Navigation;
|
||||
|
||||
namespace SmartNav;
|
||||
|
||||
public sealed class RouteInstructionBuilder(AetheryteData aetheryteData, ITerritoryInfo territoryInfo, ILogger<RouteInstructionBuilder> logger)
|
||||
{
|
||||
private const float BoundaryApproachMargin = 5f;
|
||||
|
||||
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)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -1441158642;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private void BuildSegment(List<NavInstruction> instructions, RouteSegment seg, RouteSegment? previous, int index, int segmentCount, uint destinationTerritory, bool disableNavmesh)
|
||||
{
|
||||
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))
|
||||
{
|
||||
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
|
||||
});
|
||||
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:
|
||||
{
|
||||
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:
|
||||
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]
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
156
SmartNav/SmartNav/RouteResult.cs
Normal file
156
SmartNav/SmartNav/RouteResult.cs
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
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)
|
||||
{
|
||||
Segments = original.Segments;
|
||||
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;
|
||||
}
|
||||
}
|
||||
176
SmartNav/SmartNav/RouteSegment.cs
Normal file
176
SmartNav/SmartNav/RouteSegment.cs
Normal file
|
|
@ -0,0 +1,176 @@
|
|||
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;
|
||||
}
|
||||
}
|
||||
234
SmartNav/SmartNav/WarpFailureTracker.cs
Normal file
234
SmartNav/SmartNav/WarpFailureTracker.cs
Normal file
|
|
@ -0,0 +1,234 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Threading;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace SmartNav;
|
||||
|
||||
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 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
|
||||
{
|
||||
_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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
int num = ((!flag) ? (-1114779348) : (-1114779345));
|
||||
while (true)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void RecordSuccess(uint warpRowId)
|
||||
{
|
||||
object gate = _gate;
|
||||
bool flag = false;
|
||||
try
|
||||
{
|
||||
_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
|
||||
{
|
||||
_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
|
||||
{
|
||||
_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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
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