1
0
Fork 0
forked from aly/qstbak
qstbak/Questionable/Questionable.Controller/MovementController.cs
2026-08-17 20:27:25 +10:00

2420 lines
134 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Game.ClientState.Objects.Enums;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin.Ipc.Exceptions;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
using FFXIVClientStructs.FFXIV.Client.Game.Control;
using LLib;
using Microsoft.Extensions.Logging;
using Questionable.Controller.NavigationOverrides;
using Questionable.Data;
using Questionable.External;
using Questionable.Functions;
using Questionable.Model;
using Questionable.Model.Questing;
using SmartNav.Data;
using SmartNav.Model;
using SmartNav.Model.Converter;
namespace Questionable.Controller;
internal sealed class MovementController : IDisposable
{
public sealed record DestinationData(EMovementType MovementType, uint? DataId, Vector3 Position, float StopDistance, bool IsFlying, bool CanSprint, float VerticalStopDistance, bool Land, bool UseNavmesh, bool IsSmartNavRouted)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200D_200D_206E_200F_202B_200D_206C_206D_200E_202D_206E_202D_206E_206D_200B_206F_200B_206E_206A_206C_206E_200F_200F_202E_206F_206D_200E_200B_202D_200F_206A_200E_200C_206F_200B_200B_200E_202D_206E_200C_202E(typeof(DestinationData).TypeHandle);
}
}
public int NavmeshCalculations { get; set; }
public List<Vector3> PartialRoute { get; } = new List<Vector3>();
public LastWaypointData? LastWaypoint { get; set; }
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _200F_206A_200F_202D_200F_206B_200E_206B_206A_206C_206B_206B_202E_200F_206D_202C_206F_200D_202D_202E_202A_202E_202A_202C_200D_202B_202C_206B_200E_200D_206F_202B_200E_206E_202B_206E_200D_206D_206D_206E_202E();
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1649215359));
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(stringBuilder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(117284107));
int num = ((!PrintMembers(stringBuilder)) ? (-442565540) : (-442565537));
while (true)
{
int num2 = num;
int num3 = -442565538;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
_206F_206B_206E_202C_202C_206E_200E_200B_206B_200C_200D_200B_206B_200B_206C_200B_202D_206B_200D_206D_200F_202B_206A_202E_202C_206C_200B_200B_206C_206D_206C_200D_206F_206A_206B_206E_206D_206A_206A_206E_202E(stringBuilder, '}');
return _200F_200D_200B_206E_200E_202C_206E_206B_200D_206E_206E_206D_206E_206C_206A_202C_206D_202E_206B_202E_200D_200E_202B_200C_202C_200F_202C_206B_200C_206E_200F_206B_206B_202C_206A_206D_202D_200B_200E_202E_202E((object)stringBuilder);
case 1:
_206F_206B_206E_202C_202C_206E_200E_200B_206B_200C_200D_200B_206B_200B_206C_200B_202D_206B_200D_206D_200F_202B_206A_202E_202C_206C_200B_200B_206C_206D_206C_200D_206F_206A_206B_206E_206D_206A_206A_206E_202E(stringBuilder, ' ');
num = -442565540;
break;
case 0:
num = -442565537;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200E_200F_200F_200C_202D_206F_200B_202C_206C_200F_200D_200F_200D_206B_206A_202B_200B_202D_200E_200C_200B_206F_202B_200F_202E_200F_200D_200E_206D_200D_202E_206B_202D_202C_206F_206D_202B_200E_202A_206E_202E();
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1999561490));
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, MovementType.ToString());
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(97441196));
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, DataId.ToString());
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1993330002));
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, Position.ToString());
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1983390380));
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, StopDistance.ToString());
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(436934647));
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, IsFlying.ToString());
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2120828510));
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, CanSprint.ToString());
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-518067548));
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, VerticalStopDistance.ToString());
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1230528724));
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, Land.ToString());
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-336283620));
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, UseNavmesh.ToString());
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1710615926));
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, IsSmartNavRouted.ToString());
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1675587815));
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, NavmeshCalculations.ToString());
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1352596954));
_206F_206F_206F_206F_206A_206B_202D_202B_202C_206A_200D_202A_206A_202D_200B_202D_202D_206D_202C_200D_202D_202D_206C_202C_202A_206A_202D_206B_200F_200C_202B_206F_200D_206A_206D_202A_202E_206E_200C_202A_202E(builder, (object)PartialRoute);
_206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(73479256));
_206F_206F_206F_206F_206A_206B_202D_202B_202C_206A_200D_202A_206A_202D_200B_202D_202D_206D_202C_200D_202D_202D_206C_202C_202A_206A_202D_206B_200F_200C_202B_206F_200D_206A_206D_202A_202E_206E_200C_202A_202E(builder, (object)LastWaypoint);
return true;
}
[CompilerGenerated]
public bool Equals(DestinationData? other)
{
int num = (((object)this == other) ? 1399779328 : 1399779341);
while (true)
{
int num2 = num;
int num3 = 1399779332;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 16:
num = ((!EqualityComparer<EMovementType>.Default.Equals(MovementType, other.MovementType)) ? 1399779338 : 1399779335);
break;
case 0:
num = ((!EqualityComparer<bool>.Default.Equals(UseNavmesh, other.UseNavmesh)) ? 1399779338 : 1399779336);
break;
case 3:
num = ((!EqualityComparer<uint?>.Default.Equals(DataId, other.DataId)) ? 1399779338 : 1399779330);
break;
case 15:
num = ((!_202D_202A_206D_206A_200D_202A_206C_206A_202D_206A_202E_206E_202E_200C_200D_200F_206E_202C_202A_206D_200D_206F_206B_202B_206E_206A_206D_200F_206A_200C_202E_206B_200F_200D_206B_200C_200D_200E_200C_206A_202E(EqualityContract, other.EqualityContract)) ? 1399779338 : 1399779348);
break;
case 2:
num = ((!EqualityComparer<float>.Default.Equals(VerticalStopDistance, other.VerticalStopDistance)) ? 1399779338 : 1399779337);
break;
case 9:
num = (((object)other == null) ? 1399779338 : 1399779339);
break;
case 8:
num = ((!EqualityComparer<List<Vector3>>.Default.Equals(PartialRoute, other.PartialRoute)) ? 1399779338 : 1399779342);
break;
case 17:
num = ((!EqualityComparer<bool>.Default.Equals(CanSprint, other.CanSprint)) ? 1399779338 : 1399779334);
break;
case 10:
return EqualityComparer<LastWaypointData>.Default.Equals(LastWaypoint, other.LastWaypoint);
case 14:
return false;
case 12:
num = ((!EqualityComparer<bool>.Default.Equals(IsSmartNavRouted, other.IsSmartNavRouted)) ? 1399779338 : 1399779331);
break;
case 6:
num = ((!EqualityComparer<Vector3>.Default.Equals(Position, other.Position)) ? 1399779338 : 1399779343);
break;
case 13:
num = ((!EqualityComparer<bool>.Default.Equals(Land, other.Land)) ? 1399779338 : 1399779332);
break;
case 7:
num = ((!EqualityComparer<int>.Default.Equals(NavmeshCalculations, other.NavmeshCalculations)) ? 1399779338 : 1399779340);
break;
case 1:
num = ((!EqualityComparer<bool>.Default.Equals(IsFlying, other.IsFlying)) ? 1399779338 : 1399779349);
break;
case 4:
return true;
case 5:
num = 1399779341;
break;
case 11:
num = ((!EqualityComparer<float>.Default.Equals(StopDistance, other.StopDistance)) ? 1399779338 : 1399779333);
break;
}
}
}
bool IEquatable<DestinationData>.Equals(DestinationData? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200D_200D_206E_200F_202B_200D_206C_206D_200E_202D_206E_202D_206E_206D_200B_206F_200B_206E_206A_206C_206E_200F_200F_202E_206F_206D_200E_200B_202D_200F_206A_200E_200C_206F_200B_200B_200E_202D_206E_200C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _200F_206A_200F_202D_200F_206B_200E_206B_206A_206C_206B_206B_202E_200F_206D_202C_206F_200D_202D_202E_202A_202E_202A_202C_200D_202B_202C_206B_200E_200D_206F_202B_200E_206E_202B_206E_200D_206D_206D_206E_202E()
{
return new StringBuilder();
}
static StringBuilder _206A_206F_206D_200C_202B_202D_206F_206A_202A_206D_206E_202B_200B_200C_202C_202A_200C_202B_200C_206A_202D_200E_202A_202A_206A_200F_202A_200E_206F_206F_202B_202E_202E_200B_200C_202A_202E_200F_200F_200D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _206F_206B_206E_202C_202C_206E_200E_200B_206B_200C_200D_200B_206B_200B_206C_200B_202D_206B_200D_206D_200F_202B_206A_202E_202C_206C_200B_200B_206C_206D_206C_200D_206F_206A_206B_206E_206D_206A_206A_206E_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _200F_200D_200B_206E_200E_202C_206E_206B_200D_206E_206E_206D_206E_206C_206A_202C_206D_202E_206B_202E_200D_200E_202B_200C_202C_200F_202C_206B_200C_206E_200F_206B_206B_202C_206A_206D_202D_200B_200E_202E_202E(object P_0)
{
return P_0.ToString();
}
static void _200E_200F_200F_200C_202D_206F_200B_202C_206C_200F_200D_200F_200D_206B_206A_202B_200B_202D_200E_200C_200B_206F_202B_200F_202E_200F_200D_200E_206D_200D_202E_206B_202D_202C_206F_206D_202B_200E_202A_206E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206F_206F_206F_206F_206A_206B_202D_202B_202C_206A_200D_202A_206A_202D_200B_202D_202D_206D_202C_200D_202D_202D_206C_202C_202A_206A_202D_206B_200F_200C_202B_206F_200D_206A_206D_202A_202E_206E_200C_202A_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _202D_202A_206D_206A_200D_202A_206C_206A_202D_206A_202E_206E_202E_200C_200D_200F_206E_202C_202A_206D_200D_206F_206B_202B_206E_206A_206D_200F_206A_200C_202E_206B_200F_200D_206B_200C_200D_200E_200C_206A_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
public sealed record LastWaypointData(Vector3 Position)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200C_200E_206A_206B_200F_200E_200C_202A_202A_206D_206B_206E_200D_200B_206D_206B_206E_202B_202C_200C_200D_206C_206A_206F_206E_206B_206F_200C_200B_206C_200D_202E_200D_206A_206D_206F_202D_202D_206D_206B_202E(typeof(LastWaypointData).TypeHandle);
}
}
public long UpdatedAt { get; set; }
public double Distance2DAtLastUpdate { get; set; }
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _202A_200B_206D_202B_202E_206C_206C_200D_206B_202E_200C_202A_200F_206E_202C_202B_200C_206E_202D_206B_200E_200B_200C_202A_202C_202C_206F_206D_202A_200F_200C_206B_206A_200D_206A_206C_200E_202D_206B_200E_202E();
_206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1301252306));
_206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1664411125));
int num = ((!PrintMembers(stringBuilder)) ? 854055883 : 854055880);
while (true)
{
int num2 = num;
int num3 = 854055881;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 854055880;
break;
case 1:
_206B_202A_206B_200D_200F_206E_206A_200E_206A_200B_206C_200D_200F_206F_202D_202B_200E_200B_206B_206C_206E_202A_200E_206B_202C_206F_200E_202D_206B_202D_202D_206A_206C_202A_206A_206D_206B_202B_200D_206E_202E(stringBuilder, ' ');
num = 854055883;
break;
case 2:
_206B_202A_206B_200D_200F_206E_206A_200E_206A_200B_206C_200D_200F_206F_202D_202B_200E_200B_206B_206C_206E_202A_200E_206B_202C_206F_200E_202D_206B_202D_202D_206A_206C_202A_206A_206D_206B_202B_200D_206E_202E(stringBuilder, '}');
return _200F_200E_202B_202E_200F_200F_206C_202D_200C_206C_206D_206F_206E_200B_200B_202C_206D_200E_200C_206C_202D_200D_206E_200F_200E_206A_206C_202C_206F_200D_202C_200D_200B_200F_202D_200B_202A_202B_200E_202B_202E((object)stringBuilder);
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202A_200C_202A_206C_206F_206B_206C_202A_202D_202D_202C_206C_202C_202A_202E_206D_206D_206A_206D_200E_200E_200D_206D_206E_200F_206C_200E_202D_202C_206E_206B_200F_200F_206E_202D_200E_200F_200E_202C_206B_202E();
_206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(675764215));
_206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(builder, Position.ToString());
_206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1263085392));
_206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(builder, UpdatedAt.ToString());
_206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-696865885));
_206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(builder, Distance2DAtLastUpdate.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(LastWaypointData? other)
{
int num = (((object)this == other) ? (-768038203) : (-768038202));
while (true)
{
int num2 = num;
int num3 = -768038206;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 7:
return true;
case 0:
num = ((!_206B_206A_200E_206F_200D_206D_200F_206C_200C_206D_206B_200F_206E_206B_202C_200E_200B_200F_206B_206C_206D_206F_206C_200E_202E_200B_202D_202D_202A_200D_200B_200B_206F_202B_200B_202C_206C_202A_202E_206E_202E(EqualityContract, other.EqualityContract)) ? (-768038205) : (-768038207));
break;
case 3:
num = ((!EqualityComparer<Vector3>.Default.Equals(Position, other.Position)) ? (-768038205) : (-768038204));
break;
case 4:
num = (((object)other == null) ? (-768038205) : (-768038206));
break;
case 2:
return EqualityComparer<double>.Default.Equals(Distance2DAtLastUpdate, other.Distance2DAtLastUpdate);
case 1:
return false;
case 6:
num = ((!EqualityComparer<long>.Default.Equals(UpdatedAt, other.UpdatedAt)) ? (-768038205) : (-768038208));
break;
case 5:
num = -768038202;
break;
}
}
}
bool IEquatable<LastWaypointData>.Equals(LastWaypointData? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200C_200E_206A_206B_200F_200E_200C_202A_202A_206D_206B_206E_200D_200B_206D_206B_206E_202B_202C_200C_200D_206C_206A_206F_206E_206B_206F_200C_200B_206C_200D_202E_200D_206A_206D_206F_202D_202D_206D_206B_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _202A_200B_206D_202B_202E_206C_206C_200D_206B_202E_200C_202A_200F_206E_202C_202B_200C_206E_202D_206B_200E_200B_200C_202A_202C_202C_206F_206D_202A_200F_200C_206B_206A_200D_206A_206C_200E_202D_206B_200E_202E()
{
return new StringBuilder();
}
static StringBuilder _206E_200D_202C_200C_200D_206A_202E_206C_200D_206C_202A_202E_206A_202A_200C_200E_206C_200B_202E_200B_202E_200D_200D_206B_200D_200C_200D_206E_206D_206C_200E_200D_202A_206E_200D_206F_200D_206F_202C_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _206B_202A_206B_200D_200F_206E_206A_200E_206A_200B_206C_200D_200F_206F_202D_202B_200E_200B_206B_206C_206E_202A_200E_206B_202C_206F_200E_202D_206B_202D_202D_206A_206C_202A_206A_206D_206B_202B_200D_206E_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _200F_200E_202B_202E_200F_200F_206C_202D_200C_206C_206D_206F_206E_200B_200B_202C_206D_200E_200C_206C_202D_200D_206E_200F_200E_206A_206C_202C_206F_200D_202C_200D_200B_200F_202D_200B_202A_202B_200E_202B_202E(object P_0)
{
return P_0.ToString();
}
static void _202A_200C_202A_206C_206F_206B_206C_202A_202D_202D_202C_206C_202C_202A_202E_206D_206D_206A_206D_200E_200E_200D_206D_206E_200F_206C_200E_202D_202C_206E_206B_200F_200F_206E_202D_200E_200F_200E_202C_206B_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static bool _206B_206A_200E_206F_200D_206D_200F_206C_200C_206D_206B_200F_206E_206B_202C_200E_200B_200F_206B_206C_206D_206F_206C_200E_202E_200B_202D_202D_202A_200D_200B_200B_206F_202B_200B_202C_206C_202A_202E_206E_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
public sealed class PathfindingFailedException : Exception
{
public PathfindingFailedException()
{
}
public PathfindingFailedException(string message)
: base(message)
{
}
public PathfindingFailedException(string message, Exception innerException)
: base(message, innerException)
{
}
}
[Serializable]
[CompilerGenerated]
private sealed class _003C_003Ec
{
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
public static Func<Vector3, string> _003C_003E9__58_0;
[MethodImpl(MethodImplOptions.NoInlining)]
internal string _003CUpdate_003Eb__58_0(Vector3 x)
{
return x.ToString(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1770759382), _206F_202E_206D_206C_206E_200B_200C_200B_200B_206C_202D_202A_202B_202E_202B_206E_200F_206B_206E_200F_206F_206D_206A_202A_202B_202D_202D_206C_200D_206C_202C_206F_206F_202C_200C_206E_206C_202C_200D_200D_202E());
}
static CultureInfo _206F_202E_206D_206C_206E_200B_200C_200B_200B_206C_202D_202A_202B_202E_202B_206E_200F_206B_206E_200F_206F_206D_206A_202A_202B_202D_202D_206C_200D_206C_202C_206F_206F_202C_200C_206E_206C_202C_200D_200D_202E()
{
return CultureInfo.InvariantCulture;
}
}
public const float DefaultVerticalInteractionDistance = 1.95f;
private const float FlyLandHeightOffset = 2.6f;
private const float FlyLandPathfindTolerance = 5f;
private const float FlyLandLastResortTolerance = 10f;
private const float RouteEndTolerance = 5f;
private const float DefaultArrivalTolerance = 0.25f;
private const int LandingSettleTime = 500;
private const int LandingTimeout = 10000;
private const float FlyingStartYNudge = 0.2f;
private const float DragonheadStartYNudge = 1f;
private readonly NavmeshIpc _navmeshIpc;
private readonly WigglyNavAvailability _wigglyNavAvailability;
private readonly IFramework _framework;
private readonly IClientState _clientState;
private readonly IObjectTable _objectTable;
private readonly GameFunctions _gameFunctions;
private readonly ICondition _condition;
private readonly MovementOverrideController _movementOverrideController;
private readonly AetheryteData _aetheryteData;
private readonly TerritoryData _territoryData;
private readonly Configuration _configuration;
private readonly ILogger<MovementController> _logger;
private CancellationTokenSource? _cancellationTokenSource;
private Task<NavPathfindResult>? _pathfindTask;
private float _pathfindTolerance = 0.25f;
private long _pathfindStartTime;
private bool _pathfindTimeoutLogged;
private Vector3? _lastKnownPosition;
private long _lastPositionUpdateTime;
private Vector3? _expectedPosition;
private bool _isTrackingPlayerInput;
private volatile bool _disposed;
[CompilerGenerated]
private EventHandler? m_PlayerInputDetected;
public bool IsNavmeshReady
{
get
{
try
{
return _navmeshIpc.IsReady;
}
catch (IpcNotReadyError)
{
return false;
}
}
}
public bool IsPathRunning
{
get
{
try
{
return _navmeshIpc.IsPathRunning;
}
catch (IpcNotReadyError)
{
return false;
}
}
}
public bool IsPathfinding
{
get
{
Task<NavPathfindResult> pathfindTask = _pathfindTask;
int num = ((pathfindTask == null) ? 772287061 : 772287062);
while (true)
{
int num2 = num;
int num3 = 772287060;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0048;
case 2:
return !_200F_206D_200C_202A_206C_206E_206E_206C_200D_202C_202B_200D_206B_200B_206C_200E_202A_206D_206D_200E_206D_200E_200C_206C_206D_200C_200F_200C_200D_202E_202B_200C_206E_200B_200F_206E_200E_200B_206C_200E_202E((Task)pathfindTask);
case 1:
return false;
}
continue;
IL_0048:
num = 772287062;
}
}
}
public DestinationData? Destination { get; set; }
public long? MovementStartedAt { get; private set; } = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E();
public int BuiltNavmeshPercent => _navmeshIpc.GetBuildProgress();
public bool IsNavmeshPathfindInProgress => _navmeshIpc.IsPathfindInProgress;
public int NumQueuedPathfindRequests => _navmeshIpc.NumQueuedPathfindRequests;
public event EventHandler? PlayerInputDetected
{
[CompilerGenerated]
add
{
EventHandler eventHandler = this.m_PlayerInputDetected;
int num = -400481209;
while (true)
{
int num2 = num;
int num3 = -400481210;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = -400481209;
break;
case 1:
{
EventHandler eventHandler2 = eventHandler;
EventHandler value2 = (EventHandler)_202E_202B_200F_200E_206B_206A_206E_200E_200F_200B_202D_200F_206A_202C_202A_200F_202E_202B_200C_206A_200C_202D_202A_206B_206C_202B_206D_206F_206D_200F_206B_202B_206B_202E_206C_200E_206E_206C_206E_200E_202E((Delegate)eventHandler2, (Delegate)value);
eventHandler = Interlocked.CompareExchange(ref this.m_PlayerInputDetected, value2, eventHandler2);
num = (((object)eventHandler != eventHandler2) ? (-400481209) : (-400481212));
break;
}
case 2:
return;
}
}
}
[CompilerGenerated]
remove
{
EventHandler eventHandler = this.m_PlayerInputDetected;
int num = -634928454;
while (true)
{
int num2 = num;
int num3 = -634928453;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = -634928454;
break;
case 0:
return;
case 1:
{
EventHandler eventHandler2 = eventHandler;
EventHandler value2 = (EventHandler)_206C_206F_206A_202B_206D_206D_202D_200F_206C_206C_206F_202E_206B_202D_202A_200D_202C_200E_202C_202E_206E_206B_206C_206C_202B_200B_200D_202A_206B_206E_200E_206D_200E_206F_202A_206F_202B_200B_200C_202D_202E((Delegate)eventHandler2, (Delegate)value);
eventHandler = Interlocked.CompareExchange(ref this.m_PlayerInputDetected, value2, eventHandler2);
num = (((object)eventHandler != eventHandler2) ? (-634928454) : (-634928453));
break;
}
}
}
}
}
public MovementController(NavmeshIpc navmeshIpc, WigglyNavAvailability wigglyNavAvailability, IFramework framework, IClientState clientState, IObjectTable objectTable, GameFunctions gameFunctions, ICondition condition, MovementOverrideController movementOverrideController, AetheryteData aetheryteData, TerritoryData territoryData, Configuration configuration, ILogger<MovementController> logger)
{
_navmeshIpc = navmeshIpc;
_wigglyNavAvailability = wigglyNavAvailability;
_framework = framework;
_clientState = clientState;
_objectTable = objectTable;
_gameFunctions = gameFunctions;
_condition = condition;
_movementOverrideController = movementOverrideController;
_aetheryteData = aetheryteData;
_territoryData = territoryData;
_configuration = configuration;
_logger = logger;
_wigglyNavAvailability.CompatibilityChanged += OnWigglyNavCompatibilityChanged;
}
private void OnWigglyNavCompatibilityChanged()
{
_202A_202B_202C_200E_206E_206E_200B_200C_200E_200D_200D_206F_206D_206D_206B_200B_202D_202C_206B_200C_206F_206A_206A_202D_202C_206C_202A_206F_206B_200E_200F_202A_202B_202A_200C_200C_206D_200D_200C_206D_202E(_framework, (Action)([MethodImpl(MethodImplOptions.NoInlining)] () =>
{
int num = ((!_disposed) ? 515706311 : 515706308);
DestinationData destination = default(DestinationData);
while (true)
{
int num2 = num;
int num3 = 515706311;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
num = 515706308;
break;
case 0:
num = ((_configuration.General.NavigationProvider != Configuration.ENavigationProvider.WigglyNav) ? 515706309 : 515706319);
break;
case 2:
return;
case 8:
num = ((!(Destination == null)) ? 515706306 : 515706304);
break;
case 9:
num = ((!IsNavmeshReady) ? 515706305 : 515706310);
break;
case 5:
destination = Destination;
_navmeshIpc.StopAll();
num = ((!(destination != null)) ? 515706305 : 515706318);
break;
case 7:
num = (IsPathfinding ? 515706306 : 515706309);
break;
case 6:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-593232842), Array.Empty<object>());
Stop();
return;
case 3:
return;
case 1:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-79192567), Array.Empty<object>());
Restart(destination);
return;
}
}
}));
}
public bool HasBeenMovingForAtLeast(int ms)
{
long? movementStartedAt = MovementStartedAt;
int num = ((!movementStartedAt.HasValue) ? 1811576790 : 1811576789);
while (true)
{
int num2 = num;
int num3 = 1811576788;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0053;
case 2:
return false;
case 1:
{
long valueOrDefault = movementStartedAt.GetValueOrDefault();
return _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E() - valueOrDefault >= ms;
}
}
continue;
IL_0053:
num = 1811576789;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe void Update()
{
int num = ((!IsPathRunning) ? (-1655935346) : (-1655935301));
NavPathfindResult result = default(NavPathfindResult);
List<Vector3> list = default(List<Vector3>);
int navmeshCalculations2 = default(int);
DestinationData destination = default(DestinationData);
bool flag = default(bool);
float num7 = default(float);
NavPathfindResult result2 = default(NavPathfindResult);
List<Vector3> waypoints2 = default(List<Vector3>);
Vector3? vector2 = default(Vector3?);
IGameObject gameObject = default(IGameObject);
Vector3 vector3 = default(Vector3);
Vector3? vector4 = default(Vector3?);
Vector3 p = default(Vector3);
Vector3 vector = default(Vector3);
while (true)
{
int num2 = num;
int num3 = -1655935333;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 108:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1718370293), Array.Empty<object>());
return;
case 102:
num = ((!(result.EndDistance > Destination.StopDistance)) ? (-1655935246) : (-1655935248));
break;
case 84:
num = ((!Destination.CanSprint) ? (-1655935273) : (-1655935239));
break;
case 61:
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1286507068), Array.Empty<object>());
Stop();
return;
case 80:
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1218341412), new object[1] { _200B_206A_206A_206E_206F_200F_202B_202A_206E_200B_206F_202B_200F_202B_200D_200D_206C_206C_206D_200D_206C_206F_202E_200B_206A_206F_206E_202A_202C_206E_202E_200D_206A_202C_206F_200C_202E_200F_206A_206C_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-947374176), _pathfindTask.Result.Waypoints.Select([MethodImpl(MethodImplOptions.NoInlining)] (Vector3 x) => x.ToString(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1770759382), _003C_003Ec._206F_202E_206D_206C_206E_200B_200C_200B_200B_206C_202D_202A_202B_202E_202B_206E_200F_206B_206E_200F_206F_206D_206A_202A_202B_202D_202D_206C_200D_206C_202C_206F_206F_202C_200C_206E_206C_202C_200D_200D_202E()))) });
_navmeshIpc.MoveTo(list, Destination.IsFlying, _pathfindTolerance);
MovementStartedAt = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E();
StartPlayerInputTracking();
ResetPathfinding();
num = -1655935317;
break;
case 4:
num = ((!(Destination != null)) ? (-1655935273) : (-1655935279));
break;
case 48:
num = ((!IsPathRunning) ? (-1655935273) : (-1655935329));
break;
case 55:
{
DestinationData? destination3 = Destination;
int num9 = navmeshCalculations2;
num3 = 1;
num4 = num9;
destination3.NavmeshCalculations = (num4 | num3) + (num4 & num3);
num = -1655935283;
break;
}
case 58:
num = ((_navmeshIpc.NumQueuedPathfindRequests <= 5) ? (-1655935339) : (-1655935278));
break;
case 6:
Stop();
num = -1655935273;
break;
case 2:
destination = Destination;
num = (((object)destination == null) ? (-1655935234) : (-1655935341));
break;
case 59:
Stop();
num = -1655935273;
break;
case 77:
num = ((!Destination.IsFlying) ? (-1655935337) : (-1655935306));
break;
case 70:
num = (_200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.Mounted) ? (-1655935295) : (-1655935325));
break;
case 8:
num = ((destination.MovementType == EMovementType.Landing) ? (-1655935346) : (-1655935234));
break;
case 93:
return;
case 104:
Stop();
return;
case 39:
flag = true;
num = -1655935243;
break;
case 3:
{
ResetPathfinding();
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(51, 2);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(2018070936));
defaultInterpolatedStringHandler.AppendFormatted(num7, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1819906059));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-143213414));
defaultInterpolatedStringHandler.AppendFormatted(Destination.StopDistance, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1308263729));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-572338381));
throw new PathfindingFailedException(defaultInterpolatedStringHandler.ToStringAndClear());
}
case 34:
num = ((!result.IsPartial) ? (-1655935246) : (-1655935235));
break;
case 22:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1387973698), Array.Empty<object>());
return;
case 15:
num = (((object)result2 == null) ? (-1655935285) : (-1655935357));
break;
case 57:
{
waypoints2 = _navmeshIpc.GetWaypoints();
IPlayerCharacter playerCharacter3 = _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(_objectTable);
vector2 = ((playerCharacter3 != null) ? new Vector3?(_200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter3)) : ((Vector3?)null));
num = ((!vector2.HasValue) ? (-1655935273) : (-1655935350));
break;
}
case 105:
num = ((!Destination.IsSmartNavRouted) ? (-1655935285) : (-1655935286));
break;
case 101:
num = ((!DetectPlayerInputInterference()) ? (-1655935346) : (-1655935280));
break;
case 78:
gameObject = _gameFunctions.FindObjectByDataId(Destination.DataId.Value);
num = ((gameObject is ICharacter) ? (-1655935300) : (-1655935345));
break;
case 64:
Stop();
num = -1655935273;
break;
case 11:
num = (_200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.Mounted) ? (-1655935273) : (-1655935254));
break;
case 107:
{
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(2035665846), new object[3]
{
Destination.Position.ToString(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1318690943), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()),
_pathfindTask.Result.EndDistance,
list.Count
});
float endDistance = _pathfindTask.Result.EndDistance;
ResetPathfinding();
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(66, 1);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(272297976));
defaultInterpolatedStringHandler2.AppendFormatted(endDistance, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1308263729));
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-572338381));
throw new PathfindingFailedException(defaultInterpolatedStringHandler2.ToStringAndClear());
}
case 69:
num = ((!(_206D_202E_206D_200C_206C_200B_202C_202D_206A_202C_202B_206A_200E_200E_202A_202D_206A_200C_200F_202C_202D_206E_202E_206A_200D_206C_200F_206D_206A_202B_206F_200B_206A_206B_206E_206B_200F_206B_200F_200D_202E(vector3.Y - _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E(gameObject).Y) < 1.95f)) ? (-1655935273) : (-1655935269));
break;
case 43:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1977384111), Array.Empty<object>());
throw new PathfindingFailedException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(333651527));
case 75:
{
_202C_200B_200C_202E_200F_202E_202D_200F_202C_206D_202A_202A_206C_200F_206B_206C_202E_206F_202D_200D_200F_200C_206E_200F_206F_200E_200D_206A_202D_200D_206B_200C_206E_200E_202E_206F_200E_206A_206E_202D_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1019459155), Array.Empty<object>());
EventHandler? eventHandler = this.PlayerInputDetected;
if (eventHandler == null)
{
goto case 104;
}
eventHandler(this, EventArgs.Empty);
num = -1655935245;
break;
}
case 72:
num = ((!(Destination != null)) ? (-1655935317) : (-1655935356));
break;
case 7:
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1150941391), new object[1] { vector4.Value.ToString(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1770759382), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()) });
navmeshCalculations2 = Destination.NavmeshCalculations;
Restart(Destination with
{
Position = vector4.Value
});
num = ((!(Destination != null)) ? (-1655935283) : (-1655935316));
break;
case 114:
num = ((!IsPathRunning) ? (-1655935318) : (-1655935338));
break;
case 28:
_202C_200B_200C_202E_200F_202E_202D_200F_202C_206D_202A_202A_206C_200F_206B_206C_202E_206F_202D_200D_200F_200C_206E_200F_206F_200E_200D_206A_202D_200D_206B_200C_206E_200E_202E_206F_200E_206A_206E_202D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(128816295), new object[1] { result2.EndDistance });
num = -1655935285;
break;
case 87:
Stop();
num = -1655935273;
break;
case 51:
{
result2 = _pathfindTask.Result;
List<Vector3> list2 = list;
num7 = Vector3.Distance(list2[list2.Count - 1], Destination.Position);
num = (IsRouteEndAcceptable(num7, Destination.StopDistance, Destination.IsFlying, Destination.Land, result2.HasPartialInfo, result2.IsPartial) ? (-1655935253) : (-1655935308));
break;
}
case 74:
num = ((!_gameFunctions.IsLoadingScreenVisible()) ? (-1655935238) : (-1655935322));
break;
case 20:
num = ((!(gameObject is IEventObj)) ? (-1655935307) : (-1655935300));
break;
case 106:
num = ((destination.MovementType != EMovementType.Landing) ? (-1655935290) : (-1655935272));
break;
case 98:
TriggerSprintIfNeeded(waypoints2, vector2.Value);
num = -1655935273;
break;
case 33:
num = (IsOnFlightPath(p) ? (-1655935294) : (-1655935299));
break;
case 32:
num = ((!_isTrackingPlayerInput) ? (-1655935346) : (-1655935335));
break;
case 66:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(778434954), new object[3]
{
num7,
Destination.Position.ToString(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1450220880), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()),
Destination.StopDistance
});
num = -1655935336;
break;
case 95:
list = Destination.PartialRoute.Concat(list).ToList();
num = ((!Destination.IsSmartNavRouted) ? (-1655935246) : (-1655935349));
break;
case 90:
{
IPlayerCharacter playerCharacter4 = _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(_objectTable);
vector3 = ((playerCharacter4 != null) ? _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter4) : Vector3.Zero);
num = ((Destination.MovementType != EMovementType.Landing) ? (-1655935324) : (-1655935313));
break;
}
case 9:
num = ((!Destination.Land) ? (-1655935353) : (-1655935297));
break;
case 12:
ResetPathfinding();
throw new PathfindingFailedException();
case 50:
ResetPathfinding();
throw new PathfindingFailedException(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1937149461));
case 10:
Stop();
num = -1655935273;
break;
case 35:
num = (Destination.IsFlying ? (-1655935273) : (-1655935344));
break;
case 31:
num = (_200F_206D_200C_202A_206C_206E_206E_206C_200D_202C_202B_200D_206B_200B_206C_200E_202A_206D_206D_200E_206D_200E_200C_206C_206D_200C_200F_200C_200D_202E_202B_200C_206E_200B_200F_206E_200E_200B_206C_200E_202E((Task)_pathfindTask) ? (-1655935339) : (-1655935305));
break;
case 47:
num = ((!result2.HasPartialInfo) ? (-1655935271) : (-1655935351));
break;
case 24:
num = ((!result2.HasPartialInfo) ? (-1655935285) : (-1655935237));
break;
case 17:
num = ((!RecalculateNavmesh(waypoints2, vector2.Value)) ? (-1655935304) : (-1655935282));
break;
case 42:
{
DestinationData? destination4 = Destination;
int navmeshCalculations = destination4.NavmeshCalculations;
int num10 = navmeshCalculations;
num3 = 1;
num4 = num10;
destination4.NavmeshCalculations = (num4 | num3) + (num4 & num3);
Destination.PartialRoute.AddRange(list);
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1286179086), new object[2]
{
list.Last(),
Destination.Position
});
_cancellationTokenSource = _206B_202A_206A_202B_206C_202C_202A_206C_200F_206D_206A_202E_200C_206D_206B_206F_202E_202E_206D_202C_202B_206C_206D_206E_206A_202E_202C_202B_202C_206F_206C_200C_206C_206F_202A_206F_202D_200E_206D_200E_202E();
_200D_200B_202B_200B_206B_206C_200F_200B_200B_202E_206D_202B_202D_202E_200C_200D_202A_200C_200E_200E_200F_200F_200B_200B_206C_206F_200F_206F_202D_206D_202B_202E_206C_202C_206A_202C_206B_200B_206E_206A_202E(_cancellationTokenSource, TimeSpan.FromSeconds(30L));
_pathfindStartTime = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E();
_pathfindTolerance = 0.25f;
_pathfindTask = _navmeshIpc.Pathfind(list.Last(), Destination.Position, Destination.IsFlying, _202C_202B_202B_202E_202E_206E_200C_202E_206C_206C_202D_202E_202C_202C_200E_206B_206B_202B_206F_206D_200E_202D_206D_206C_206C_206E_200F_206C_206D_202B_200B_200F_202C_202D_200D_202D_200D_202D_202A_200D_202E(_cancellationTokenSource));
return;
}
case 109:
num = ((_202B_200E_200B_200D_202A_202C_202D_202B_202E_200E_200B_200F_202E_206C_200E_200F_202A_206A_202A_202C_206A_206E_202C_200C_202B_202A_200E_200D_206A_200B_206B_206B_200C_200E_206D_202D_206C_206E_206C_206F_202E(gameObject) != ObjectKind.Aetheryte) ? (-1655935331) : (-1655935240));
break;
case 81:
num = ((list.Count <= 0) ? (-1655935285) : (-1655935320));
break;
case 76:
destination = Destination;
num = (((object)destination == null) ? (-1655935290) : (-1655935247));
break;
case 19:
num = -1655935301;
break;
case 111:
num = ((!(_206D_202E_206D_200C_206C_200B_202C_202D_206A_202C_202B_206A_200E_200E_202A_202D_206A_200C_200F_202C_202D_206E_202E_206A_200D_206C_200F_206D_206A_202B_206F_200B_206A_206B_206E_206B_200F_206B_200F_200D_202E(vector3.Y - _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E(gameObject).Y) < 1.95f)) ? (-1655935273) : (-1655935343));
break;
case 97:
destination = Destination;
num = (((object)destination == null) ? (-1655935295) : (-1655935323));
break;
case 85:
return;
case 86:
return;
case 1:
num = ((!Destination.DataId.HasValue) ? (-1655935328) : (-1655935275));
break;
case 63:
num = ((!((vector3 - Destination.Position).Length() < Destination.StopDistance)) ? (-1655935326) : (-1655935289));
break;
case 62:
num = ((!destination.IsFlying) ? (-1655935295) : (-1655935315));
break;
case 65:
{
List<Vector3> waypoints = _pathfindTask.Result.Waypoints;
list = waypoints.Slice(1, waypoints.Count - 1);
IPlayerCharacter playerCharacter2 = _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(_objectTable);
p = ((playerCharacter2 != null) ? _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter2) : list[0]);
num = ((!Destination.IsFlying) ? (-1655935236) : (-1655935293));
break;
}
case 52:
num = (_200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.InFlight) ? (-1655935273) : (-1655935284));
break;
case 41:
result = _pathfindTask.Result;
num = (((object)result == null) ? (-1655935246) : (-1655935359));
break;
case 0:
num = ((gameObject == null) ? (-1655935331) : (-1655935242));
break;
case 21:
num = ((_pathfindTask == null) ? (-1655935317) : (-1655935277));
break;
case 73:
num = (_pathfindTimeoutLogged ? (-1655935319) : (-1655935296));
break;
case 91:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1046286467), new object[2]
{
_navmeshIpc.NumQueuedPathfindRequests,
_202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E() - _pathfindStartTime
});
_pathfindTimeoutLogged = true;
num = -1655935319;
break;
case 88:
num = ((Destination.MovementType == EMovementType.Landing) ? (-1655935236) : (-1655935348));
break;
case 36:
_202C_200B_200C_202E_200F_202E_202D_200F_202C_206D_202A_202A_206C_200F_206B_206C_202E_206F_202D_200D_200F_200C_206E_200F_206F_200E_200D_206A_202D_200D_206B_200C_206E_200E_202E_206F_200E_206A_206E_202D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-671975865), new object[1] { result2.EndDistance });
num = -1655935285;
break;
case 27:
num = ((Destination.NavmeshCalculations >= 10) ? (-1655935292) : (-1655935287));
break;
case 82:
num = (IsNavmeshReady ? (-1655935311) : (-1655935241));
break;
case 67:
num = ((!HasBeenMovingForAtLeast(500)) ? (-1655935290) : (-1655935255));
break;
case 40:
{
Vector3 vector5 = vector;
vector5.Y = vector.Y + 0.2f;
vector = vector5;
num = -1655935233;
break;
}
case 14:
num = ((!_206A_202C_202C_202B_202A_200E_200D_206D_206D_200B_202D_202E_202B_206D_200D_202C_200C_202B_202E_202C_206D_206C_202C_200B_200F_200F_200F_206C_200B_200D_200F_206E_200E_206B_200B_202E_202C_202D_206F_200D_202E((Task)_pathfindTask)) ? (-1655935355) : (-1655935298));
break;
case 112:
num = ((!Destination.IsFlying) ? (-1655935285) : (-1655935340));
break;
case 16:
num = (Destination.IsFlying ? (-1655935246) : (-1655935310));
break;
case 68:
{
(List<Vector3>, bool) tuple = _movementOverrideController.AdjustPath(list);
list = tuple.Item1;
num = ((!tuple.Item2) ? (-1655935292) : (-1655935360));
break;
}
case 113:
num = (_gameFunctions.HasStatusPreventingSprint() ? (-1655935273) : (-1655935281));
break;
case 71:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(849626760), Array.Empty<object>());
vector4 = TryFindAccessibleDestination(Destination.Position, Destination.IsFlying, Destination.Land);
num = ((!vector4.HasValue) ? (-1655935274) : (-1655935291));
break;
case 53:
Stop();
num = -1655935273;
break;
case 49:
{
bool num11 = _200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.InFlight);
Stop();
num = ((!num11) ? (-1655935290) : (-1655935312));
break;
}
case 13:
num = ((!HasBeenMovingForAtLeast(10000)) ? (-1655935290) : (-1655935318));
break;
case 110:
num = ((!flag) ? (-1655935333) : (-1655935266));
break;
case 56:
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-453196697), new object[1] { _200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.Swimming) ? global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(534392554) : global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1682230213) });
Restart(Destination, false);
return;
case 45:
num = ((!Destination.Land) ? (-1655935337) : (-1655935330));
break;
case 18:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(160808973), new object[5]
{
num7,
Destination.Position.ToString(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2120763774), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()),
Destination.StopDistance,
result2.IsPartial,
result2.EndDistance
});
num = -1655935336;
break;
case 96:
num = ((!result2.IsPartial) ? (-1655935285) : (-1655935342));
break;
case 99:
num = ((!_206B_200C_206B_200C_206C_202C_206C_200F_206B_202D_202A_202A_200C_200B_202D_200D_202D_200E_206E_200E_206B_200C_206E_202A_200F_206C_206A_200B_200C_200B_200D_200F_202A_202D_206A_200B_202B_200F_202A_202B_202E((EAetheryteLocation)Destination.DataId.Value)) ? (-1655935244) : (-1655935358));
break;
case 89:
ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null);
num = -1655935236;
break;
case 79:
num = ((Destination.NavmeshCalculations != 1) ? (-1655935337) : (-1655935268));
break;
case 37:
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-33261788), new object[1] { _pathfindTask.Result.Waypoints.Count });
num = ((_pathfindTask.Result.Waypoints.Count != 0) ? (-1655935270) : (-1655935276));
break;
case 30:
num = ((!_200F_206D_200C_202A_206C_206E_206E_206C_200D_202C_202B_200D_206B_200B_206C_200E_202A_206D_206D_200E_206D_200E_200C_206C_206D_200C_200F_200C_200D_202E_202B_200C_206E_200B_200F_206E_200E_200B_206C_200E_202E((Task)_pathfindTask)) ? (-1655935317) : (-1655935321));
break;
case 26:
num = ((!result.HasPartialInfo) ? (-1655935246) : (-1655935303));
break;
case 94:
num = ((!(Vector3.Distance(Destination.Position, vector4.Value) < 30f)) ? (-1655935274) : (-1655935332));
break;
case 60:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1643203086), Array.Empty<object>());
ResetPathfinding();
throw new PathfindingFailedException();
case 46:
flag = false;
num = -1655935243;
break;
case 54:
num = (_200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.Swimming) ? (-1655935325) : (-1655935267));
break;
case 29:
num = ((!_200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.Mounted)) ? (-1655935236) : (-1655935302));
break;
case 92:
num = ((!(vector3.Y - Destination.Position.Y <= Destination.VerticalStopDistance)) ? (-1655935334) : (-1655935314));
break;
case 25:
Stop();
num = -1655935273;
break;
case 23:
num = (_200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.InFlight) ? (-1655935236) : (-1655935354));
break;
case 38:
num = ((!list.Any(IsOnFlightPath)) ? (-1655935236) : (-1655935294));
break;
case 103:
num = (Destination.IsFlying ? (-1655935292) : (-1655935265));
break;
case 100:
{
_pathfindStartTime = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E();
_pathfindTolerance = 10f;
_pathfindTask = _navmeshIpc.PathfindWithTolerance(vector, Destination.Position, Destination.IsFlying, 10f);
DestinationData? destination2 = Destination;
int navmeshCalculations = destination2.NavmeshCalculations;
int num8 = navmeshCalculations;
num3 = 1;
num4 = num8;
destination2.NavmeshCalculations = (num4 | num3) + (num4 & num3);
return;
}
case 83:
{
IPlayerCharacter playerCharacter = _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(_objectTable);
vector = ((playerCharacter != null) ? _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter) : Vector3.Zero);
num = ((!Destination.IsFlying) ? (-1655935233) : (-1655935309));
break;
}
case 5:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(935417340), Array.Empty<object>());
num = (IsNavmeshReady ? (-1655935288) : (-1655935347));
break;
case 44:
num = ((_202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E() - _pathfindStartTime <= 30000) ? (-1655935339) : (-1655935327));
break;
}
}
}
internal static bool IsRouteEndAcceptable(float endDistance, float stopDistance, bool isFlying, bool land, bool hasPartialInfo, bool isPartial)
{
int num = (land ? 1 : 0);
int num2 = (isFlying ? 1 : 0);
int num3 = (((num2 | num) - (num2 ^ num) == 0) ? (-927356858) : (-927356857));
while (true)
{
int num4 = num3;
num = -927356858;
num2 = num4;
int num5 = num2 + num;
int num6 = num2 & num;
switch (num5 - (num6 + num6))
{
case 2:
return endDistance <= stopDistance;
case 1:
return true;
case 4:
num3 = -927356857;
break;
case 0:
{
bool num7 = !isFlying;
num = (hasPartialInfo ? 1 : 0);
num2 = (num7 ? 1 : 0);
int num8 = (num2 | num) - (num2 ^ num);
num = (isPartial ? 1 : 0);
num2 = num8;
num3 = (((num2 | num) - (num2 ^ num) == 0) ? (-927356859) : (-927356860));
break;
}
case 3:
return endDistance <= stopDistance + 5f;
}
}
}
private void StartPlayerInputTracking()
{
IPlayerCharacter playerCharacter = _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(_objectTable);
int num = ((playerCharacter == null) ? 424392342 : 424392343);
while (true)
{
int num2 = num;
int num3 = 424392342;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = 424392343;
break;
case 0:
return;
case 1:
_lastKnownPosition = _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter);
_expectedPosition = _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter);
_lastPositionUpdateTime = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E();
_isTrackingPlayerInput = true;
num = 424392342;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private bool DetectPlayerInputInterference()
{
int num = (_configuration.General.StopOnPlayerInput ? 1130252873 : 1130252878);
Vector3 vector = default(Vector3);
long num5 = default(long);
IPlayerCharacter playerCharacter = default(IPlayerCharacter);
List<Vector3> waypoints = default(List<Vector3>);
Vector3 vector3 = default(Vector3);
Vector3 value = default(Vector3);
float num8 = default(float);
while (true)
{
int num2 = num;
int num3 = 1130252866;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 14:
return false;
case 6:
_lastKnownPosition = vector;
_lastPositionUpdateTime = num5;
return false;
case 3:
playerCharacter = _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(_objectTable);
num = ((playerCharacter != null) ? 1130252875 : 1130252869);
break;
case 2:
num = (_lastKnownPosition.HasValue ? 1130252865 : 1130252877);
break;
case 5:
_expectedPosition = waypoints[0];
num = 1130252866;
break;
case 10:
waypoints = _navmeshIpc.GetWaypoints();
num = ((waypoints.Count <= 0) ? 1130252866 : 1130252871);
break;
case 7:
return false;
case 9:
{
vector = _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter);
num5 = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E();
long num6 = num5;
long lastPositionUpdateTime = _lastPositionUpdateTime;
long num7 = num6;
num = ((~(~num7 + lastPositionUpdateTime) >= 100) ? 1130252872 : 1130252876);
break;
}
case 4:
num = 1130252878;
break;
case 8:
vector3 = Vector3.Normalize(_expectedPosition.Value - _lastKnownPosition.Value);
value = vector - _lastKnownPosition.Value;
num = ((!(value.Length() > 0.1f)) ? 1130252868 : 1130252867);
break;
case 11:
num = ((!_isTrackingPlayerInput) ? 1130252877 : 1130252864);
break;
case 15:
return false;
case 13:
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-52800617), new object[3]
{
num8,
value.ToString(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1450220880), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()),
vector3.ToString(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1450220880), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E())
});
return true;
case 12:
return false;
case 1:
{
Vector3 vector2 = Vector3.Normalize(value);
num8 = Vector3.Dot(vector3, vector2);
num = ((!(num8 < 0.7f)) ? 1130252868 : 1130252879);
break;
}
case 0:
num = ((!_expectedPosition.HasValue) ? 1130252868 : 1130252874);
break;
}
}
}
private void StopPlayerInputTracking()
{
_isTrackingPlayerInput = false;
_lastKnownPosition = null;
_expectedPosition = null;
_lastPositionUpdateTime = 0L;
}
private void Restart(DestinationData destination, bool? fly = null)
{
Stop();
Vector3 vector = destination.Position;
int num = (((object)destination == null) ? 961052412 : 961052413);
bool? flag = default(bool?);
bool fly2 = default(bool);
while (true)
{
int num2 = num;
int num3 = 961052415;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
bool num7;
switch (num5 - (num6 + num6))
{
default:
continue;
case 3:
flag = fly;
num = (flag.HasValue ? 961052410 : 961052415);
continue;
case 2:
num = ((!destination.IsFlying) ? 961052412 : 961052414);
continue;
case 6:
{
EMovementType movementType = destination.MovementType;
uint? dataId = destination.DataId;
int num8 = 1;
List<Vector3> list = new List<Vector3>(num8);
CollectionsMarshal.SetCount(list, num8);
CollectionsMarshal.AsSpan(list)[0] = vector;
NavigateTo(movementType, dataId, list, fly2, destination.CanSprint, destination.StopDistance, destination.VerticalStopDistance, destination.Land);
return;
}
case 7:
num = 961052413;
continue;
case 8:
NavigateTo(destination.MovementType, destination.DataId, vector, fly2, destination.CanSprint, destination.StopDistance, destination.VerticalStopDistance, destination.Land, destination.IsSmartNavRouted);
return;
case 0:
num7 = destination.IsFlying;
break;
case 4:
{
Vector3 vector2 = vector;
vector2.Y = vector.Y - 2.6f;
vector = vector2;
num = 961052412;
continue;
}
case 1:
num = ((!destination.Land) ? 961052412 : 961052411);
continue;
case 5:
num7 = flag == true;
break;
}
fly2 = num7;
num = ((!destination.UseNavmesh) ? 961052409 : 961052407);
}
}
private bool IsOnFlightPath(Vector3 p)
{
Vector3? pointOnFloor = _navmeshIpc.GetPointOnFloor(p, unlandable: true);
int num = ((!pointOnFloor.HasValue) ? 1773669733 : 1773669734);
while (true)
{
int num2 = num;
int num3 = 1773669732;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
return false;
case 2:
return _206D_202E_206D_200C_206C_200B_202C_202D_206A_202C_202B_206A_200E_200E_202A_202D_206A_200C_200F_202C_202D_206E_202E_206A_200D_206C_200F_206D_206A_202B_206F_200B_206A_206B_206E_206B_200F_206B_200F_200D_202E(pointOnFloor.Value.Y - p.Y) > 0.5f;
case 0:
goto IL_0079;
}
continue;
IL_0079:
num = 1773669734;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[MemberNotNull("Destination")]
private void PrepareNavigation(EMovementType type, uint? dataId, Vector3 to, bool fly, bool sprint, float? stopDistance, float verticalStopDistance, bool land, bool useNavmesh, bool isSmartNavRouted)
{
ResetPathfinding();
int num = ((!InputManager.IsAutoRunning()) ? 832014818 : 832014819);
while (true)
{
int num2 = num;
int num3 = 832014818;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
Destination = new DestinationData(type, dataId, to, stopDistance ?? 2.8f, fly, sprint, verticalStopDistance, land, useNavmesh, isSmartNavRouted);
MovementStartedAt = null;
return;
case 1:
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1560991692), Array.Empty<object>());
_200E_202D_206F_206A_206A_206C_200F_206E_200C_206F_206B_206B_202E_202C_206E_202E_206A_200F_200B_206A_202E_202C_206E_200E_206A_202E_202B_202E_206C_206A_200F_202A_200D_206E_206F_202C_206D_202C_202B_202B_202E(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1220827390));
num = 832014818;
break;
case 2:
num = 832014819;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void NavigateTo(EMovementType type, uint? dataId, Vector3 to, bool fly, bool sprint, float? stopDistance = null, float? verticalStopDistance = null, bool land = false, bool isSmartNavRouted = false)
{
int num = (IsNavmeshReady ? (-162149652) : (-162149649));
Vector3 vector2 = default(Vector3);
while (true)
{
int num2 = num;
int num3 = -162149651;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 9:
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1778448689), new object[1] { 5f });
_pathfindTolerance = 5f;
_pathfindTask = _navmeshIpc.PathfindWithTolerance(vector2, to, fly, 5f);
return;
case 5:
num = ((!(_206F_206E_206B_206A_206D_206A_200E_206F_202C_202E_202A_202C_200E_206F_206A_202C_200D_202D_202C_206B_206D_200F_206C_202D_200E_206B_202E_206D_200D_202B_200F_206D_206F_206E_200D_202A_206A_202E_206D_206E_202E(_aetheryteData, vector2, _206B_200E_206D_206D_200E_206C_202E_200C_206E_206C_202D_200F_206F_206C_200C_206C_200F_202D_200D_206B_202A_200F_202B_200C_202C_202A_206F_202B_206E_202C_202C_200E_206C_206B_200B_206C_202D_200F_202E_206E_202E(_clientState), EAetheryteLocation.CoerthasCentralHighlandsCampDragonhead) < 11f)) ? (-162149653) : (-162149651));
break;
case 1:
{
fly |= _200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.Diving);
bool num5 = fly;
num3 = (land ? 1 : 0);
num4 = (num5 ? 1 : 0);
num = ((num4 + num3 - (num4 | num3) == 0) ? (-162149659) : (-162149658));
break;
}
case 2:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(139323207), new object[1] { to.ToString(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2120763774), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()) });
return;
case 8:
{
PrepareNavigation(type, dataId, to, fly, sprint, stopDistance, verticalStopDistance ?? 1.95f, land, useNavmesh: true, isSmartNavRouted);
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-453779962), new object[1] { Destination });
DestinationData? destination = Destination;
int navmeshCalculations = destination.NavmeshCalculations;
num3 = 1;
num4 = navmeshCalculations;
destination.NavmeshCalculations = (num4 | num3) + (num4 & num3);
IPlayerCharacter playerCharacter = _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(_objectTable);
vector2 = ((playerCharacter != null) ? _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E((IGameObject)playerCharacter) : Vector3.Zero);
num = ((!fly) ? (-162149653) : (-162149656));
break;
}
case 3:
{
_pathfindStartTime = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E();
bool num6 = fly;
num3 = (land ? 1 : 0);
num4 = (num6 ? 1 : 0);
num = ((num4 + num3 - (num4 | num3) == 0) ? (-162149654) : (-162149660));
break;
}
case 7:
_cancellationTokenSource = _206B_202A_206A_202B_206C_202C_202A_206C_200F_206D_206A_202E_200C_206D_206B_206F_202E_202E_206D_202C_202B_206C_206D_206E_206A_202E_202C_202B_202C_206F_206C_200C_206C_206F_202A_206F_202D_200E_206D_200E_202E();
_200D_200B_202B_200B_206B_206C_200F_200B_200B_202E_206D_202B_202D_202E_200C_200D_202A_200C_200E_200E_200F_200F_200B_200B_206C_206F_200F_206F_202D_206D_202B_202E_206C_202C_206A_202C_206B_200B_206E_206A_202E(_cancellationTokenSource, TimeSpan.FromSeconds(30L));
_pathfindTolerance = 0.25f;
_pathfindTask = _navmeshIpc.Pathfind(vector2, to, fly, _202C_202B_202B_202E_202E_206E_200C_202E_206C_206C_202D_202E_202C_202C_200E_206B_206B_202B_206F_206D_200E_202D_206D_206C_206C_206E_200F_206C_206D_202B_200B_200F_202C_202D_200D_202D_200D_202D_202A_200D_202E(_cancellationTokenSource));
return;
case 0:
{
Vector3 vector = vector2;
vector.Y = vector2.Y + 1f;
vector2 = vector;
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1008345878), new object[1] { vector2.ToString(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2120763774), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()) });
num = -162149650;
break;
}
case 11:
{
Vector3 vector = to;
vector.Y = to.Y + 2.6f;
to = vector;
num = -162149659;
break;
}
case 10:
{
Vector3 vector = vector2;
vector.Y = vector2.Y + 0.2f;
vector2 = vector;
num = -162149650;
break;
}
case 4:
num = -162149649;
break;
case 6:
num = ((!fly) ? (-162149650) : (-162149657));
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void NavigateTo(EMovementType type, uint? dataId, List<Vector3> to, bool fly, bool sprint, float? stopDistance, float? verticalStopDistance = null, bool land = false)
{
int num = (IsNavmeshReady ? (-1651197937) : (-1651197943));
while (true)
{
int num2 = num;
int num3 = -1651197940;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
{
fly |= _200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(_condition, ConditionFlag.Diving);
bool num5 = fly;
num3 = (land ? 1 : 0);
num4 = (num5 ? 1 : 0);
num = (((num4 | num3) - (num4 ^ num3) == 0) ? (-1651197944) : (-1651197938));
break;
}
case 5:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(139323207), new object[1] { to.Last().ToString(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2120763774), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()) });
return;
case 4:
PrepareNavigation(type, dataId, to.Last(), fly, sprint, stopDistance, verticalStopDistance ?? 1.95f, land, useNavmesh: false, isSmartNavRouted: false);
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1893200715), new object[1] { Destination });
_navmeshIpc.MoveTo(to, fly, 0.25f);
MovementStartedAt = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E();
StartPlayerInputTracking();
return;
case 0:
num = -1651197943;
break;
case 1:
{
int index = to.Count - 1;
Vector3 value = to[to.Count - 1];
value.Y = to[to.Count - 1].Y + 2.6f;
to[index] = value;
num = -1651197944;
break;
}
case 2:
num = ((to.Count <= 0) ? (-1651197944) : (-1651197939));
break;
}
}
}
public void ResetPathfinding()
{
if (_cancellationTokenSource != null)
{
try
{
_200C_200F_200E_206A_206F_206D_206D_206C_202B_200B_200C_202C_200E_206C_202E_206D_202C_206B_206B_202A_206B_206F_202C_200F_202D_200C_200F_200C_206B_202D_200F_202E_200C_206A_202C_200B_202E_206F_206D_200F_202E(_cancellationTokenSource);
}
catch (ObjectDisposedException)
{
}
_200E_206B_202B_206D_206B_200C_200D_202B_200C_202B_200E_200B_202C_202E_202E_202E_202E_206C_200F_206E_200E_202D_202A_206C_200F_200D_206B_200B_200F_202D_206F_206D_200F_206C_202B_202D_202B_200C_200F_200D_202E(_cancellationTokenSource);
_cancellationTokenSource = null;
}
_pathfindTask = null;
_pathfindTimeoutLogged = false;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private Vector3? TryFindAccessibleDestination(Vector3 target, bool flying, bool landing)
{
int num = (IsNavmeshReady ? 1901620247 : 1901620241);
Vector3? pointOnFloor = default(Vector3?);
float num13 = default(float);
float num8 = default(float);
float[] array = default(float[]);
int num7 = default(int);
float[] array5 = default(float[]);
float num11 = default(float);
Vector3? vector = default(Vector3?);
float num14 = default(float);
while (true)
{
int num2 = num;
int num3 = 1901620246;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
float[] array3;
float[] array2;
switch (num5 - (num6 + num6))
{
case 9:
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(991342630), new object[4]
{
target.ToString(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1450220880), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()),
pointOnFloor.Value.ToString(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1770759382), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()),
num13,
num8
});
num = 1901620230;
break;
case 13:
{
num8 = array[num7];
float[] array4 = array5;
int num9 = num7;
int num10 = array5.Length;
num3 = 1;
num4 = num10;
num11 = array4[_200F_206D_202D_202C_202C_202B_200D_200B_202C_202C_202B_202A_206B_206B_200C_206F_206B_206B_206B_202D_206C_206A_200E_202B_206B_202E_200F_206A_206E_206D_202C_202B_206E_202C_200C_200F_200E_202D_200E_200D_202E(num9, ~(~num4 + num3))];
vector = _navmeshIpc.FindNearestReachableMeshPoint(target, num8, num11);
num = ((!vector.HasValue) ? 1901620227 : 1901620242);
break;
}
case 19:
array3 = new float[3];
_200E_202E_202B_200D_206F_206E_202D_200C_206F_200D_200C_200B_206D_206B_202B_206E_200F_202D_206E_202A_206A_206B_206D_202D_206B_206C_200E_206A_206A_202D_202E_200E_206F_206E_202E_200E_200F_202E_200F_206E_202E((Array)array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
goto IL_0470;
case 6:
array2 = new float[3];
_200E_202E_202B_200D_206F_206E_202D_200C_206F_200D_200C_200B_206D_206B_202B_206E_200F_202D_206E_202A_206A_206B_206D_202D_206B_206C_200E_206A_206A_202D_202E_200E_206F_206E_202E_200E_200F_202E_200F_206E_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
goto IL_01bc;
case 8:
array2 = new float[3];
_200E_202E_202B_200D_206F_206E_202D_200C_206F_200D_200C_200B_206D_206B_202B_206E_200F_202D_206E_202A_206A_206B_206D_202D_206B_206C_200E_206A_206A_202D_202E_200E_206F_206E_202E_200E_200F_202E_200F_206E_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
goto IL_01bc;
case 10:
num13 = Vector3.Distance(target, pointOnFloor.Value);
num = ((!(num13 <= num8 * 1.5f)) ? 1901620226 : 1901620253);
break;
case 7:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1434607821), Array.Empty<object>());
return null;
case 11:
num = ((num7 <= 0) ? 1901620230 : 1901620255);
break;
case 18:
num = 1901620241;
break;
case 21:
pointOnFloor = _navmeshIpc.GetPointOnFloor(target, flying, num8);
num = ((!pointOnFloor.HasValue) ? 1901620226 : 1901620252);
break;
case 20:
{
int num15 = num7;
num3 = 1;
num4 = num15;
int num16 = num4 ^ num3;
int num17 = num4 & num3;
num7 = num16 + (num17 + num17);
num = 1901620231;
break;
}
case 0:
array2 = new float[3];
_200E_202E_202B_200D_206F_206E_202D_200C_206F_200D_200C_200B_206D_206B_202B_206E_200F_202D_206E_202A_206A_206B_206D_202D_206B_206C_200E_206A_206A_202D_202E_200E_206F_206E_202E_200E_200F_202E_200F_206E_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
goto IL_01bc;
case 2:
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1730269895), new object[5]
{
target.ToString(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1318690943), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()),
vector.Value.ToString(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1022996025), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()),
num14,
num8,
num11
});
num = 1901620250;
break;
case 12:
return vector.Value;
case 5:
num = ((num7 <= 0) ? 1901620250 : 1901620244);
break;
case 4:
num14 = Vector3.Distance(target, vector.Value);
num = ((!(num14 <= num8 * 1.5f)) ? 1901620227 : 1901620243);
break;
case 17:
num = ((num7 < array.Length) ? 1901620251 : 1901620248);
break;
case 14:
{
ILogger<MovementController> logger = _logger;
string text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1069787156);
object[] obj = new object[2]
{
target.ToString(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1770759382), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()),
null
};
float[] array6 = array;
int num12 = array6.Length;
num3 = 1;
num4 = num12;
obj[1] = array6[~(~num4 + num3)];
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)logger, text, obj);
return null;
}
case 1:
num3 = (landing ? 1 : 0);
num4 = (flying ? 1 : 0);
num = ((num4 + num3 - (num4 | num3) != 0) ? 1901620254 : 1901620245);
break;
case 15:
array3 = new float[3];
_200E_202E_202B_200D_206F_206E_202D_200C_206F_200D_200C_200B_206D_206B_202B_206E_200F_202D_206E_202A_206A_206B_206D_202D_206B_206C_200E_206A_206A_202D_202E_200E_206F_206E_202E_200E_200F_202E_200F_206E_202E((Array)array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
goto IL_0470;
case 16:
return pointOnFloor.Value;
case 3:
{
num = (flying ? 1901620240 : 1901620246);
break;
}
IL_01bc:
array = array2;
num = (flying ? 1901620249 : 1901620229);
break;
IL_0470:
array5 = array3;
num7 = 0;
num = 1901620231;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe bool RecalculateNavmesh(List<Vector3> navPoints, Vector3 start)
{
int num = ((!(Destination == null)) ? (-392231919) : (-392231910));
int navmeshCalculations = default(int);
EStuckRecoveryMode stuckRecoveryMode = default(EStuckRecoveryMode);
float num7 = default(float);
Vector3 vector = default(Vector3);
while (true)
{
int num2 = num;
int num3 = -392231929;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 20:
num = -392231910;
break;
case 25:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1976407771), new object[2]
{
navmeshCalculations,
Destination.Position.ToString(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1318690943), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E())
});
Restart(Destination);
num = -392231908;
break;
case 14:
num = (IsNavmeshReady ? (-392231906) : (-392231912));
break;
case 27:
{
DestinationData? destination2 = Destination;
int num10 = navmeshCalculations;
num3 = 1;
num4 = num10;
int num11 = num4 ^ num3;
int num12 = num4 & num3;
destination2.NavmeshCalculations = num11 + (num12 + num12);
return true;
}
case 13:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1388006533), new object[1] { navmeshCalculations });
return false;
case 4:
num = ((_202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E() - Destination.LastWaypoint.UpdatedAt <= 500) ? (-392231928) : (-392231915));
break;
case 2:
goto IL_01e4;
case 19:
{
navmeshCalculations = Destination.NavmeshCalculations;
stuckRecoveryMode = _configuration.Navigation.StuckRecoveryMode;
int recoveryCap = GetRecoveryCap(stuckRecoveryMode);
num = ((navmeshCalculations < recoveryCap) ? (-392231913) : (-392231929));
break;
}
case 11:
return false;
case 24:
goto IL_02a2;
case 15:
return false;
case 1:
goto IL_0319;
case 28:
Destination.LastWaypoint.Distance2DAtLastUpdate = num7;
Destination.LastWaypoint.UpdatedAt = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E();
return false;
case 29:
throw _202B_202E_202C_206D_206D_200E_206B_202C_202B_206B_206B_200E_206E_206C_202A_206E_206D_206D_200C_206F_200F_200C_200C_202B_206A_200E_206F_200F_206B_200C_206A_200D_202E_206C_200B_206E_206D_202A_200D_206C_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1790597621));
case 0:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(49, 2);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(227167531));
defaultInterpolatedStringHandler.AppendFormatted(navmeshCalculations);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1562364070));
defaultInterpolatedStringHandler.AppendFormatted(stuckRecoveryMode);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1735737295));
throw new PathfindingFailedException(defaultInterpolatedStringHandler.ToStringAndClear());
}
case 23:
goto IL_042f;
case 10:
Destination.LastWaypoint = new LastWaypointData(vector)
{
Distance2DAtLastUpdate = num7,
UpdatedAt = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E()
};
return false;
case 17:
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1935768233), new object[1] { navmeshCalculations });
Restart(Destination);
num = -392231908;
break;
case 30:
vector = navPoints.FirstOrDefault();
num = ((!(vector == default(Vector3))) ? (-392231936) : (-392231924));
break;
case 31:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1597622168), new object[1] { navmeshCalculations });
return false;
case 16:
num = ((stuckRecoveryMode != EStuckRecoveryMode.Passive) ? (-392231918) : (-392231907));
break;
case 12:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1548783703), new object[1] { navmeshCalculations });
return false;
case 21:
{
int num9 = navmeshCalculations;
num3 = 1;
num4 = num9;
switch (~(~num4 + num3))
{
case 1:
case 2:
case 3:
break;
case 7:
goto IL_01e4;
case 4:
goto IL_02a2;
case 0:
case 6:
goto IL_0319;
case 5:
goto IL_042f;
default:
goto IL_0593;
case 8:
goto IL_0725;
}
goto case 14;
}
case 5:
return false;
case 9:
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(224794329), new object[1] { navmeshCalculations });
Restart(Destination);
num = -392231908;
break;
case 6:
num = ((!((Destination.LastWaypoint.Position - vector).Length() > 0.1f)) ? (-392231933) : (-392231923));
break;
case 26:
{
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(4831604), new object[1] { navmeshCalculations });
DestinationData? destination = Destination;
int num8 = navmeshCalculations;
num3 = 1;
num4 = num8;
destination.NavmeshCalculations = (num4 | num3) + (num4 & num3);
return true;
}
case 7:
num7 = Vector2.Distance(new Vector2(start.X, start.Z), new Vector2(vector.X, vector.Z));
num = ((Destination.LastWaypoint == null) ? (-392231923) : (-392231935));
break;
case 18:
num = ((!(_202D_206A_202C_202A_202E_206D_202E_200B_200E_206C_202E_206D_200B_206C_206C_202B_200D_206F_200E_206C_206C_202E_206F_202C_206D_206F_200D_202E_202E_200C_200B_202E_202E_206E_202E_202B_202B_206A_206F_206B_202E((double)num7 - Destination.LastWaypoint.Distance2DAtLastUpdate) < 0.5)) ? (-392231909) : (-392231916));
break;
case 22:
num = (HasBeenMovingForAtLeast(5000) ? (-392231911) : (-392231934));
break;
case 3:
goto IL_0725;
case 8:
{
num = -392231927;
break;
}
IL_0319:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1352350737), new object[2]
{
navmeshCalculations,
Destination.Position.ToString(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2120763774), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E())
});
ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null);
Destination.LastWaypoint.UpdatedAt = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E();
num = -392231908;
break;
IL_02a2:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1763630643), new object[2]
{
navmeshCalculations,
Destination.Position.ToString(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1318690943), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E())
});
_navmeshIpc.Reload();
Destination.LastWaypoint.UpdatedAt = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E();
num = -392231908;
break;
IL_0725:
num = (IsNavmeshReady ? (-392231922) : (-392231925));
break;
IL_0593:
num = -392231921;
break;
IL_01e4:
_200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(363591802), new object[2]
{
navmeshCalculations,
Destination.Position.ToString(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2120763774), _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E())
});
_navmeshIpc.Rebuild();
Destination.LastWaypoint.UpdatedAt = _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E();
num = -392231908;
break;
IL_042f:
num = (IsNavmeshReady ? (-392231914) : (-392231926));
break;
}
}
}
private static int GetRecoveryCap(EStuckRecoveryMode mode)
{
int num;
int result = default(int);
switch (mode)
{
default:
num = 2066456491;
goto IL_001d;
case EStuckRecoveryMode.Aggressive:
result = 10;
num = 2066456492;
goto IL_001d;
case EStuckRecoveryMode.Conservative:
goto IL_0086;
case EStuckRecoveryMode.Passive:
goto IL_0093;
IL_001d:
while (true)
{
int num2 = num;
int num3 = 2066456493;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto end_IL_001d;
case 2:
result = 10;
num = 2066456492;
break;
case 4:
num = 2066456491;
break;
case 6:
num = 2066456495;
break;
case 1:
return result;
case 5:
goto IL_0086;
case 3:
goto IL_0093;
}
continue;
end_IL_001d:
break;
}
goto case EStuckRecoveryMode.Aggressive;
IL_0093:
result = 2;
num = 2066456492;
goto IL_001d;
IL_0086:
result = 5;
num = 2066456492;
goto IL_001d;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void TriggerSprintIfNeeded(IEnumerable<Vector3> navPoints, Vector3 start)
{
float num = 0f;
IEnumerator<Vector3> enumerator = navPoints.GetEnumerator();
int num2;
try
{
num2 = 1560481778;
while (true)
{
int num3 = num2;
int num4 = 1560481777;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
case 0:
num2 = 1560481778;
break;
case 2:
{
Vector3 current = enumerator.Current;
num += (start - current).Length();
start = current;
num2 = 1560481778;
break;
}
case 3:
num2 = (_202C_202B_202E_200C_202A_200C_200C_202E_200F_200C_206B_206E_200E_206D_206C_202C_206F_206A_206E_202B_202A_202B_206C_206B_202D_202B_206A_200E_202C_202E_200F_202D_206A_206F_206E_206D_206C_206C_200E_206F_202E((IEnumerator)enumerator) ? 1560481779 : 1560481776);
break;
case 1:
goto end_IL_0019;
}
continue;
end_IL_0019:
break;
}
}
finally
{
num2 = ((enumerator == null) ? 827766141 : 827766142);
while (true)
{
int num8 = num2;
int num4 = 827766140;
int num5 = num8;
switch ((num5 | num4) - (num5 & num4))
{
case 0:
num2 = 827766142;
break;
case 2:
_200F_206A_206A_202C_202D_200D_200B_200D_202A_202E_206F_200E_202A_206A_202D_202E_202E_206F_202E_206B_202D_206A_202D_202E_200E_202A_202C_202A_200C_202E_202C_200B_202A_200D_206A_200B_200F_200C_200D_206A_202E((IDisposable)enumerator);
num2 = 827766141;
break;
case 1:
goto end_IL_00c5;
}
continue;
end_IL_00c5:
break;
}
}
float num9 = _configuration.Navigation.SprintDistanceOpenWorld;
num2 = (_gameFunctions.HasStatus(EStatus.Jog) ? 1159302720 : 1159302721);
while (true)
{
int num10 = num2;
int num4 = 1159302720;
int num5 = num10;
int num11 = num5 + num4;
int num12 = num5 & num4;
switch (num11 - (num12 + num12))
{
case 6:
num2 = ((ActionManager.Instance()->GetActionStatus(ActionType.GeneralAction, 4u, 3758096384uL, checkRecastActive: true, checkCastingActive: true, null) != 0) ? 1159302723 : 1159302725);
break;
case 5:
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1632286442), Array.Empty<object>());
ActionManager.Instance()->UseAction(ActionType.GeneralAction, 4u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null);
num2 = 1159302723;
break;
case 3:
return;
case 0:
num2 = ((!(num > num9)) ? 1159302723 : 1159302726);
break;
case 2:
num2 = 1159302721;
break;
case 4:
num9 = _configuration.Navigation.SprintDistanceTown;
num2 = 1159302720;
break;
case 1:
num2 = (_territoryData.CanUseMount(_206B_200E_206D_206D_200E_206C_202E_200C_206E_206C_202D_200F_206F_206C_200C_206C_200F_202D_200D_206B_202A_200F_202B_200C_202C_202A_206F_202B_206E_202C_202C_200E_206C_206B_200B_206C_202D_200F_202E_206E_202E(_clientState)) ? 1159302720 : 1159302724);
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Stop()
{
StopPlayerInputTracking();
_navmeshIpc.Stop();
ResetPathfinding();
Destination = null;
int num = ((!InputManager.IsAutoRunning()) ? (-1332858374) : (-1332858375));
while (true)
{
int num2 = num;
int num3 = -1332858376;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
return;
case 1:
_206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-532830681), Array.Empty<object>());
_200E_202D_206F_206A_206A_206C_200F_206E_200C_206F_206B_206B_202E_202C_206E_202E_206A_200F_200B_206A_202E_202C_206E_200E_206A_202E_202B_202E_206C_206A_200F_202A_200D_206E_206F_202C_206D_202C_202B_202B_202E(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1812716843));
num = -1332858374;
break;
case 0:
num = -1332858375;
break;
}
}
}
public void Dispose()
{
_disposed = true;
_wigglyNavAvailability.CompatibilityChanged -= OnWigglyNavCompatibilityChanged;
Stop();
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
static long _202A_206A_202A_200E_202B_200E_202B_202A_206D_206B_206A_202A_206D_206D_206D_206D_206B_202C_202A_200B_200F_206A_206C_206B_200E_200D_200F_202C_206E_202E_200D_202C_200C_202E_202D_200C_200C_200F_200B_206E_202E()
{
return Environment.TickCount64;
}
static Task _202A_202B_202C_200E_206E_206E_200B_200C_200E_200D_200D_206F_206D_206D_206B_200B_202D_202C_206B_200C_206F_206A_206A_202D_202C_206C_202A_206F_206B_200E_200F_202A_202B_202A_200C_200C_206D_200D_200C_206D_202E(IFramework P_0, Action P_1)
{
return P_0.RunOnFrameworkThread(P_1);
}
static bool _200F_206D_200C_202A_206C_206E_206E_206C_200D_202C_202B_200D_206B_200B_206C_200E_202A_206D_206D_200E_206D_200E_200C_206C_206D_200C_200F_200C_200D_202E_202B_200C_206E_200B_200F_206E_200E_200B_206C_200E_202E(Task P_0)
{
return P_0.IsCompleted;
}
static Delegate _202E_202B_200F_200E_206B_206A_206E_200E_200F_200B_202D_200F_206A_202C_202A_200F_202E_202B_200C_206A_200C_202D_202A_206B_206C_202B_206D_206F_206D_200F_206B_202B_206B_202E_206C_200E_206E_206C_206E_200E_202E(Delegate P_0, Delegate P_1)
{
return Delegate.Combine(P_0, P_1);
}
static Delegate _206C_206F_206A_202B_206D_206D_202D_200F_206C_206C_206F_202E_206B_202D_202A_200D_202C_200E_202C_202E_206E_206B_206C_206C_202B_200B_200D_202A_206B_206E_200E_206D_200E_206F_202A_206F_202B_200B_200C_202D_202E(Delegate P_0, Delegate P_1)
{
return Delegate.Remove(P_0, P_1);
}
static void _202C_200B_200C_202E_200F_202E_202D_200F_202C_206D_202A_202A_206C_200F_206B_206C_202E_206F_202D_200D_200F_200C_206E_200F_206F_200E_200D_206A_202D_200D_206B_200C_206E_200E_202E_206F_200E_206A_206E_202D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static void _200B_202B_200F_202D_202E_202C_200E_202C_202E_206D_200D_206D_206B_200C_206A_200F_206D_206D_206E_202E_200E_206F_206B_200F_206F_200E_200B_200F_200C_202C_200F_206C_206D_200E_202A_200E_206B_200D_202B_206F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static bool _206A_202C_202C_202B_202A_200E_200D_206D_206D_200B_202D_202E_202B_206D_200D_202C_200C_202B_202E_202C_206D_206C_202C_200B_200F_200F_200F_206C_200B_200D_200F_206E_200E_206B_200B_202E_202C_202D_206F_200D_202E(Task P_0)
{
return P_0.IsCompletedSuccessfully;
}
static void _206F_206E_200D_206B_200C_202D_200B_202A_202A_206A_206A_206C_206A_202B_200F_200B_200F_206D_202E_206A_200E_200D_202C_200C_206B_202B_206B_200C_202A_200D_200F_202A_202D_200C_200C_200D_200E_200C_200E_202B_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static CultureInfo _202D_206D_200D_202A_202D_200D_202C_202E_202B_206C_202A_206E_206B_200F_200E_200E_200F_200D_206D_200C_206E_206A_202C_200D_200D_202B_206C_202D_206D_202D_206E_206B_200D_202B_200C_200D_200E_206C_200B_206B_202E()
{
return CultureInfo.InvariantCulture;
}
static IPlayerCharacter _206C_206C_206F_206F_202D_206B_206D_206E_202E_200D_206A_206C_200D_206A_202D_202E_206D_200F_206A_200F_202E_200F_206C_202D_206D_200F_206A_206D_200B_202B_202D_206A_200C_206F_202D_206A_200C_206F_202E_200C_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static Vector3 _200D_202E_202E_206E_200D_200F_206A_202E_200B_202D_206F_200E_200F_206C_202A_200F_206B_202B_202B_202D_206B_206D_202E_202D_200F_200C_202D_202E_200B_202E_200E_206B_200E_200B_200C_200B_202A_200E_200C_200E_202E(IGameObject P_0)
{
return P_0.Position;
}
static bool _200C_206A_200F_202C_200F_206D_202A_206C_200B_200E_206F_206C_206D_200F_200E_206F_206C_200B_200F_206A_206F_200B_200B_200B_202D_202A_202E_200F_206D_200F_202E_200F_206D_206B_202E_200D_202A_200D_206D_202E_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
static CancellationTokenSource _206B_202A_206A_202B_206C_202C_202A_206C_200F_206D_206A_202E_200C_206D_206B_206F_202E_202E_206D_202C_202B_206C_206D_206E_206A_202E_202C_202B_202C_206F_206C_200C_206C_206F_202A_206F_202D_200E_206D_200E_202E()
{
return new CancellationTokenSource();
}
static void _200D_200B_202B_200B_206B_206C_200F_200B_200B_202E_206D_202B_202D_202E_200C_200D_202A_200C_200E_200E_200F_200F_200B_200B_206C_206F_200F_206F_202D_206D_202B_202E_206C_202C_206A_202C_206B_200B_206E_206A_202E(CancellationTokenSource P_0, TimeSpan P_1)
{
P_0.CancelAfter(P_1);
}
static CancellationToken _202C_202B_202B_202E_202E_206E_200C_202E_206C_206C_202D_202E_202C_202C_200E_206B_206B_202B_206F_206D_200E_202D_206D_206C_206C_206E_200F_206C_206D_202B_200B_200F_202C_202D_200D_202D_200D_202D_202A_200D_202E(CancellationTokenSource P_0)
{
return P_0.Token;
}
static string _200B_206A_206A_206E_206F_200F_202B_202A_206E_200B_206F_202B_200F_202B_200D_200D_206C_206C_206D_200D_206C_206F_202E_200B_206A_206F_206E_202A_202C_206E_202E_200D_206A_202C_206F_200C_202E_200F_206A_206C_202E(string P_0, IEnumerable<string> P_1)
{
return string.Join(P_0, P_1);
}
static float _206D_202E_206D_200C_206C_200B_202C_202D_206A_202C_202B_206A_200E_200E_202A_202D_206A_200C_200F_202C_202D_206E_202E_206A_200D_206C_200F_206D_206A_202B_206F_200B_206A_206B_206E_206B_200F_206B_200F_200D_202E(float P_0)
{
return Math.Abs(P_0);
}
static ObjectKind _202B_200E_200B_200D_202A_202C_202D_202B_202E_200E_200B_200F_202E_206C_200E_200F_202A_206A_202A_202C_206A_206E_202C_200C_202B_202A_200E_200D_206A_200B_206B_206B_200C_200E_206D_202D_206C_206E_206C_206F_202E(IGameObject P_0)
{
return P_0.ObjectKind;
}
static bool _206B_200C_206B_200C_206C_202C_206C_200F_206B_202D_202A_202A_200C_200B_202D_200D_202D_200E_206E_200E_206B_200C_206E_202A_200F_206C_206A_200B_200C_200B_200D_200F_202A_202D_206A_200B_202B_200F_202A_202B_202E(EAetheryteLocation P_0)
{
return AetheryteConverter.IsLargeAetheryte(P_0);
}
static void _200E_202D_206F_206A_206A_206C_200F_206E_200C_206F_206B_206B_202E_202C_206E_202E_206A_200F_200B_206A_202E_202C_206E_200E_206A_202E_202B_202E_206C_206A_200F_202A_200D_206E_206F_202C_206D_202C_202B_202B_202E(string P_0)
{
ChatHelper.SendCommand(P_0);
}
static uint _206B_200E_206D_206D_200E_206C_202E_200C_206E_206C_202D_200F_206F_206C_200C_206C_200F_202D_200D_206B_202A_200F_202B_200C_202C_202A_206F_202B_206E_202C_202C_200E_206C_206B_200B_206C_202D_200F_202E_206E_202E(IClientState P_0)
{
return P_0.TerritoryType;
}
static float _206F_206E_206B_206A_206D_206A_200E_206F_202C_202E_202A_202C_200E_206F_206A_202C_200D_202D_202C_206B_206D_200F_206C_202D_200E_206B_202E_206D_200D_202B_200F_206D_206F_206E_200D_202A_206A_202E_206D_206E_202E(AetheryteData P_0, Vector3 P_1, uint P_2, EAetheryteLocation P_3)
{
return P_0.CalculateDistance(P_1, P_2, P_3);
}
static void _200C_200F_200E_206A_206F_206D_206D_206C_202B_200B_200C_202C_200E_206C_202E_206D_202C_206B_206B_202A_206B_206F_202C_200F_202D_200C_200F_200C_206B_202D_200F_202E_200C_206A_202C_200B_202E_206F_206D_200F_202E(CancellationTokenSource P_0)
{
P_0.Cancel();
}
static void _200E_206B_202B_206D_206B_200C_200D_202B_200C_202B_200E_200B_202C_202E_202E_202E_202E_206C_200F_206E_200E_202D_202A_206C_200F_200D_206B_200B_200F_202D_206F_206D_200F_206C_202B_202D_202B_200C_200F_200D_202E(CancellationTokenSource P_0)
{
P_0.Dispose();
}
static void _200E_202E_202B_200D_206F_206E_202D_200C_206F_200D_200C_200B_206D_206B_202B_206E_200F_202D_206E_202A_206A_206B_206D_202D_206B_206C_200E_206A_206A_202D_202E_200E_206F_206E_202E_200E_200F_202E_200F_206E_202E(Array P_0, RuntimeFieldHandle P_1)
{
RuntimeHelpers.InitializeArray(P_0, P_1);
}
static int _200F_206D_202D_202C_202C_202B_200D_200B_202C_202C_202B_202A_206B_206B_200C_206F_206B_206B_206B_202D_206C_206A_200E_202B_206B_202E_200F_206A_206E_206D_202C_202B_206E_202C_200C_200F_200E_202D_200E_200D_202E(int P_0, int P_1)
{
return Math.Min(P_0, P_1);
}
static InvalidOperationException _202B_202E_202C_206D_206D_200E_206B_202C_202B_206B_206B_200E_206E_206C_202A_206E_206D_206D_200C_206F_200F_200C_200C_202B_206A_200E_206F_200F_206B_200C_206A_200D_202E_206C_200B_206E_206D_202A_200D_206C_202E(string P_0)
{
return new InvalidOperationException(P_0);
}
static double _202D_206A_202C_202A_202E_206D_202E_200B_200E_206C_202E_206D_200B_206C_206C_202B_200D_206F_200E_206C_206C_202E_206F_202C_206D_206F_200D_202E_202E_200C_200B_202E_202E_206E_202E_202B_202B_206A_206F_206B_202E(double P_0)
{
return Math.Abs(P_0);
}
static bool _202C_202B_202E_200C_202A_200C_200C_202E_200F_200C_206B_206E_200E_206D_206C_202C_206F_206A_206E_202B_202A_202B_206C_206B_202D_202B_206A_200E_202C_202E_200F_202D_206A_206F_206E_206D_206C_206C_200E_206F_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _200F_206A_206A_202C_202D_200D_200B_200D_202A_202E_206F_200E_202A_206A_202D_202E_202E_206F_202E_206B_202D_206A_202D_202E_200E_202A_202C_202A_200C_202E_202C_200B_202A_200D_206A_200B_200F_200C_200D_206A_202E(IDisposable P_0)
{
P_0.Dispose();
}
}