muffin v7.5.11
This commit is contained in:
parent
addf2d530f
commit
3102923ce2
522 changed files with 41082 additions and 211592 deletions
|
|
@ -1,9 +1,7 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Questionable.Controller.Steps;
|
||||
using Questionable.Controller.Steps.Movement;
|
||||
|
|
@ -13,524 +11,144 @@ namespace Questionable.Navigation;
|
|||
|
||||
internal sealed class SmartNavRouteEnqueuer(NavRouter navRouter, PlayerNavStateBuilder playerNavStateBuilder, RouteInstructionBuilder instructionBuilder, SmartNavTaskMapper taskMapper, SmartNavReRouteService reRouteService, ILogger<SmartNavRouteEnqueuer> logger)
|
||||
{
|
||||
[Serializable]
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec
|
||||
{
|
||||
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
|
||||
|
||||
public static Func<NavInstruction, bool> _003C_003E9__9_0;
|
||||
|
||||
internal bool _003CTryEnqueueToTerritory_003Eb__9_0(NavInstruction x)
|
||||
{
|
||||
NavInstruction.Move move = x as NavInstruction.Move;
|
||||
int num = (((object)move == null) ? 1487160675 : 1487160672);
|
||||
int num5;
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1487160674;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 0:
|
||||
goto IL_0048;
|
||||
case 2:
|
||||
num5 = (_206F_202C_206C_202C_202B_206D_202E_206E_202E_206B_200F_206B_202B_202E_200E_200F_202E_200D_206A_206C_202C_206B_200E_202A_206F_206E_206A_202D_202C_206F_206A_206D_206F_206E_206D_200E_200C_200D_206D_202E_202E(move) ? 1 : 0);
|
||||
break;
|
||||
case 1:
|
||||
num5 = 0;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
IL_0048:
|
||||
num = 1487160672;
|
||||
}
|
||||
return num5 == 0;
|
||||
}
|
||||
|
||||
static bool _206F_202C_206C_202C_202B_206D_202E_206E_202E_206B_200F_206B_202B_202E_200E_200F_202E_200D_206A_206C_202C_206B_200E_202A_206F_206E_206A_202D_202C_206F_206A_206D_206F_206E_206D_200E_200C_200D_206D_202E_202E(NavInstruction.Move P_0)
|
||||
{
|
||||
return P_0.IsFinal;
|
||||
}
|
||||
}
|
||||
|
||||
public void Enqueue(TaskQueue taskQueue, uint territoryId, Vector3 position, float? fallbackStopDistance = null)
|
||||
{
|
||||
int num = ((!TryEnqueueRouted(taskQueue, territoryId, position)) ? 421503806 : 421503805);
|
||||
while (true)
|
||||
if (!TryEnqueueRouted(taskQueue, territoryId, position))
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 421503807;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
goto IL_004c;
|
||||
case 2:
|
||||
return;
|
||||
case 1:
|
||||
taskQueue.Enqueue(new MoveTask((ushort)territoryId, position, null, MountRequired: false, DismountRequired: false, fallbackStopDistance));
|
||||
reRouteService.SetDestination(territoryId, position);
|
||||
return;
|
||||
}
|
||||
continue;
|
||||
IL_004c:
|
||||
num = 421503805;
|
||||
taskQueue.Enqueue(new MoveTask((ushort)territoryId, position, null, MountRequired: false, DismountRequired: false, fallbackStopDistance));
|
||||
reRouteService.SetDestination(territoryId, position);
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public bool TryEnqueueRouted(TaskQueue taskQueue, uint territoryId, Vector3 position)
|
||||
{
|
||||
PlayerNavState playerNavState = _202B_206D_200F_202E_206D_200C_200D_202D_202A_200C_202E_200F_200D_206E_206E_206C_202E_206C_202B_200E_206D_202E_202D_202E_202B_202A_200C_202B_200C_206C_206E_202C_206E_202A_206E_202A_200B_200B_206A_200F_202E(playerNavStateBuilder, (int?)null);
|
||||
int num = ((playerNavState != null) ? (-2001710558) : (-2001710559));
|
||||
RouteResult routeResult = default(RouteResult);
|
||||
while (true)
|
||||
PlayerNavState playerNavState = playerNavStateBuilder.Build();
|
||||
if (playerNavState == null)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -2001710557;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
return false;
|
||||
case 2:
|
||||
return false;
|
||||
case 1:
|
||||
routeResult = _200C_206A_202A_202C_206A_202E_200C_206D_202C_206B_202D_200D_202B_200D_206C_206D_206C_200D_200D_200F_202C_206F_202D_202C_200E_200D_202D_200D_200F_206D_200D_202D_200F_206C_200F_206D_202A_202D_206C_202E(navRouter, playerNavState, territoryId, position, (IReadOnlySet<string>)null);
|
||||
num = ((_206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(routeResult).Count != 0) ? (-2001710553) : (-2001710557));
|
||||
break;
|
||||
case 3:
|
||||
num = -2001710559;
|
||||
break;
|
||||
case 4:
|
||||
{
|
||||
_200F_200B_206D_206C_206A_202B_200E_202A_200D_202C_206A_200E_200D_206D_200E_200F_202E_200C_200C_206D_206A_206B_202D_200B_202B_202D_206D_206E_200C_202B_200D_206B_206F_200C_200D_206A_206D_206A_206E_202D_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>(-1637216935), new object[1] { _206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(routeResult).Count });
|
||||
IEnumerator<ITask> enumerator = taskMapper.MapInstructions(_202E_200C_200C_202D_206A_206A_200D_200D_206C_200B_202E_206E_200B_200E_206C_200F_200D_200E_202D_206F_200F_200D_206E_206A_200D_202D_200E_206C_202C_206F_202A_206C_206A_206B_202D_206D_206B_202B_202E_206D_202E(instructionBuilder, routeResult, territoryId, false)).GetEnumerator();
|
||||
try
|
||||
{
|
||||
num = -1110389375;
|
||||
while (true)
|
||||
{
|
||||
int num5 = num;
|
||||
num3 = -1110389373;
|
||||
num4 = num5;
|
||||
int num6 = num4 + num3;
|
||||
int num7 = num4 & num3;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 2:
|
||||
num = (_206E_206C_206D_202B_206F_200C_200C_200D_202C_206E_202E_202A_202E_200B_206F_206D_206E_206C_206B_202D_202A_206F_200C_206F_202B_206C_200F_200F_202C_206E_206F_206D_200D_206D_202A_202C_202B_202E_200C_206B_202E((IEnumerator)enumerator) ? (-1110389374) : (-1110389376));
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
ITask current = enumerator.Current;
|
||||
taskQueue.Enqueue(current);
|
||||
num = -1110389375;
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
num = -1110389375;
|
||||
break;
|
||||
case 3:
|
||||
goto end_IL_0109;
|
||||
}
|
||||
continue;
|
||||
end_IL_0109:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
num = ((enumerator == null) ? 915371857 : 915371856);
|
||||
while (true)
|
||||
{
|
||||
int num8 = num;
|
||||
num3 = 915371857;
|
||||
num4 = num8;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = 915371856;
|
||||
break;
|
||||
case 0:
|
||||
goto end_IL_01a9;
|
||||
case 1:
|
||||
_202E_206B_202B_202B_202E_202B_202C_200D_206D_200F_202B_206F_206D_206C_200C_206D_200D_200C_202A_200D_200D_200B_202B_206F_202C_202D_202E_206C_200F_200C_200D_206C_200C_202A_202B_206B_200C_202E_202A_200D_202E((IDisposable)enumerator);
|
||||
num = 915371857;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_01a9:
|
||||
break;
|
||||
}
|
||||
}
|
||||
reRouteService.SetDestination(territoryId, position);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
RouteResult routeResult = navRouter.FindRoute(playerNavState, territoryId, position);
|
||||
if (routeResult.Segments.Count == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
logger.LogDebug("SmartNav routing with {Count} segments", routeResult.Segments.Count);
|
||||
foreach (ITask item in taskMapper.MapInstructions(instructionBuilder.Build(routeResult, territoryId)))
|
||||
{
|
||||
taskQueue.Enqueue(item);
|
||||
}
|
||||
reRouteService.SetDestination(territoryId, position);
|
||||
return true;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public bool TryEnqueueToTerritory(TaskQueue taskQueue, uint territoryId, Vector3 position)
|
||||
{
|
||||
PlayerNavState playerNavState = _202B_206D_200F_202E_206D_200C_200D_202D_202A_200C_202E_200F_200D_206E_206E_206C_202E_206C_202B_200E_206D_202E_202D_202E_202B_202A_200C_202B_200C_206C_206E_202C_206E_202A_206E_202A_200B_200B_206A_200F_202E(playerNavStateBuilder, (int?)null);
|
||||
int num = ((playerNavState != null) ? 990338576 : 990338578);
|
||||
RouteResult routeResult = default(RouteResult);
|
||||
List<NavInstruction> list = default(List<NavInstruction>);
|
||||
while (true)
|
||||
PlayerNavState playerNavState = playerNavStateBuilder.Build();
|
||||
if (playerNavState == null)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 990338579;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 3:
|
||||
routeResult = _200C_206A_202A_202C_206A_202E_200C_206D_202C_206B_202D_200D_202B_200D_206C_206D_206C_200D_200D_200F_202C_206F_202D_202C_200E_200D_202D_200D_200F_206D_200D_202D_200F_206C_200F_206D_202A_202D_206C_202E(navRouter, playerNavState, territoryId, position, (IReadOnlySet<string>)null);
|
||||
num = ((_206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(routeResult).Count != 0) ? 990338577 : 990338579);
|
||||
break;
|
||||
case 1:
|
||||
return false;
|
||||
case 5:
|
||||
num = 990338578;
|
||||
break;
|
||||
case 6:
|
||||
return false;
|
||||
case 2:
|
||||
list = _202E_200C_200C_202D_206A_206A_200D_200D_206C_200B_202E_206E_200B_200E_206C_200F_200D_200E_202D_206F_200F_200D_206E_206A_200D_202D_200E_206C_202C_206F_202A_206C_206A_206B_202D_206D_206B_202B_202E_206D_202E(instructionBuilder, routeResult, territoryId, false).TakeWhile(delegate(NavInstruction x)
|
||||
{
|
||||
NavInstruction.Move move = x as NavInstruction.Move;
|
||||
int num7 = (((object)move == null) ? 1487160675 : 1487160672);
|
||||
int num11;
|
||||
while (true)
|
||||
{
|
||||
int num8 = num7;
|
||||
int num9 = 1487160674;
|
||||
int num10 = num8;
|
||||
switch ((num10 | num9) - (num10 & num9))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 0:
|
||||
goto IL_0048;
|
||||
case 2:
|
||||
num11 = (_003C_003Ec._206F_202C_206C_202C_202B_206D_202E_206E_202E_206B_200F_206B_202B_202E_200E_200F_202E_200D_206A_206C_202C_206B_200E_202A_206F_206E_206A_202D_202C_206F_206A_206D_206F_206E_206D_200E_200C_200D_206D_202E_202E(move) ? 1 : 0);
|
||||
break;
|
||||
case 1:
|
||||
num11 = 0;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
IL_0048:
|
||||
num7 = 1487160672;
|
||||
}
|
||||
return num11 == 0;
|
||||
}).ToList();
|
||||
num = ((list.Count != 0) ? 990338583 : 990338581);
|
||||
break;
|
||||
case 0:
|
||||
return false;
|
||||
case 4:
|
||||
{
|
||||
_200F_200B_206D_206C_206A_202B_200E_202A_200D_202C_206A_200E_200D_206D_200E_200F_202E_200C_200C_206D_206A_206B_202D_200B_202B_202D_206D_206E_200C_202B_200D_206B_206F_200C_200D_206A_206D_206A_206E_202D_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>(-511917065), new object[2]
|
||||
{
|
||||
territoryId,
|
||||
_206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(routeResult).Count
|
||||
});
|
||||
IEnumerator<ITask> enumerator = taskMapper.MapInstructions(list).GetEnumerator();
|
||||
try
|
||||
{
|
||||
num = -1387319967;
|
||||
while (true)
|
||||
{
|
||||
int num5 = num;
|
||||
num3 = -1387319968;
|
||||
num4 = num5;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 1:
|
||||
num = (_206E_206C_206D_202B_206F_200C_200C_200D_202C_206E_202E_202A_202E_200B_206F_206D_206E_206C_206B_202D_202A_206F_200C_206F_202B_206C_200F_200F_202C_206E_206F_206D_200D_206D_202A_202C_202B_202E_200C_206B_202E((IEnumerator)enumerator) ? (-1387319966) : (-1387319965));
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
ITask current = enumerator.Current;
|
||||
taskQueue.Enqueue(current);
|
||||
num = -1387319967;
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
num = -1387319967;
|
||||
break;
|
||||
case 3:
|
||||
goto end_IL_016e;
|
||||
}
|
||||
continue;
|
||||
end_IL_016e:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
num = ((enumerator == null) ? (-1885497311) : (-1885497310));
|
||||
while (true)
|
||||
{
|
||||
int num6 = num;
|
||||
num3 = -1885497312;
|
||||
num4 = num6;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = -1885497310;
|
||||
break;
|
||||
case 1:
|
||||
goto end_IL_020f;
|
||||
case 2:
|
||||
_202E_206B_202B_202B_202E_202B_202C_200D_206D_200F_202B_206F_206D_206C_200C_206D_200D_200C_202A_200D_200D_200B_202B_206F_202C_202D_202E_206C_200F_200C_200D_206C_200C_202A_202B_206B_200C_202E_202A_200D_202E((IDisposable)enumerator);
|
||||
num = -1885497311;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_020f:
|
||||
break;
|
||||
}
|
||||
}
|
||||
reRouteService.ClearDestination();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
RouteResult routeResult = navRouter.FindRoute(playerNavState, territoryId, position);
|
||||
if (routeResult.Segments.Count == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
List<NavInstruction> list = instructionBuilder.Build(routeResult, territoryId).TakeWhile((NavInstruction x) => !(x is NavInstruction.Move move) || !move.IsFinal).ToList();
|
||||
if (list.Count == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
logger.LogDebug("SmartNav routing to territory {TerritoryId} with {Count} segments; leaving final movement to the caller", territoryId, routeResult.Segments.Count);
|
||||
foreach (ITask item in taskMapper.MapInstructions(list))
|
||||
{
|
||||
taskQueue.Enqueue(item);
|
||||
}
|
||||
reRouteService.ClearDestination();
|
||||
return true;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public IReadOnlyList<ITask> BuildRoutedTasks(uint territoryId, Vector3 position)
|
||||
{
|
||||
reRouteService.SetDestination(territoryId, position);
|
||||
PlayerNavState playerNavState = _202B_206D_200F_202E_206D_200C_200D_202D_202A_200C_202E_200F_200D_206E_206E_206C_202E_206C_202B_200E_206D_202E_202D_202E_202B_202A_200C_202B_200C_206C_206E_202C_206E_202A_206E_202A_200B_200B_206A_200F_202E(playerNavStateBuilder, (int?)null);
|
||||
int num = ((playerNavState == null) ? (-660464339) : (-660464337));
|
||||
RouteResult routeResult = default(RouteResult);
|
||||
while (true)
|
||||
PlayerNavState playerNavState = playerNavStateBuilder.Build();
|
||||
if (playerNavState != null)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -660464338;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
RouteResult routeResult = navRouter.FindRoute(playerNavState, territoryId, position);
|
||||
if (routeResult.Segments.Count > 0)
|
||||
{
|
||||
case 2:
|
||||
num = -660464337;
|
||||
break;
|
||||
case 0:
|
||||
{
|
||||
_200F_200B_206D_206C_206A_202B_200E_202A_200D_202C_206A_200E_200D_206D_200E_200F_202E_200C_200C_206D_206A_206B_202D_200B_202B_202D_206D_206E_200C_202B_200D_206B_206F_200C_200D_206A_206D_206A_206E_202D_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>(627470368), new object[1] { _206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(routeResult).Count });
|
||||
logger.LogDebug("SmartNav routing with {Count} segments", routeResult.Segments.Count);
|
||||
List<ITask> list = new List<ITask>();
|
||||
list.AddRange(taskMapper.MapInstructions(_202E_200C_200C_202D_206A_206A_200D_200D_206C_200B_202E_206E_200B_200E_206C_200F_200D_200E_202D_206F_200F_200D_206E_206A_200D_202D_200E_206C_202C_206F_202A_206C_206A_206B_202D_206D_206B_202B_202E_206D_202E(instructionBuilder, routeResult, territoryId, false)));
|
||||
list.AddRange(taskMapper.MapInstructions(instructionBuilder.Build(routeResult, territoryId)));
|
||||
return new global::_003C_003Ez__ReadOnlyList<ITask>(list);
|
||||
}
|
||||
case 3:
|
||||
return new global::_003C_003Ez__ReadOnlySingleElementList<ITask>(new MoveTask((ushort)territoryId, position));
|
||||
case 1:
|
||||
routeResult = _200C_206A_202A_202C_206A_202E_200C_206D_202C_206B_202D_200D_202B_200D_206C_206D_206C_200D_200D_200F_202C_206F_202D_202C_200E_200D_202D_200D_200F_206D_200D_202D_200F_206C_200F_206D_202A_202D_206C_202E(navRouter, playerNavState, territoryId, position, (IReadOnlySet<string>)null);
|
||||
num = ((_206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(routeResult).Count <= 0) ? (-660464339) : (-660464338));
|
||||
break;
|
||||
}
|
||||
}
|
||||
return new global::_003C_003Ez__ReadOnlySingleElementList<ITask>(new MoveTask((ushort)territoryId, position));
|
||||
}
|
||||
|
||||
public bool RouteStartsWithTeleport(uint territoryId, Vector3 position)
|
||||
{
|
||||
PlayerNavState playerNavState = _202B_206D_200F_202E_206D_200C_200D_202D_202A_200C_202E_200F_200D_206E_206E_206C_202E_206C_202B_200E_206D_202E_202D_202E_202B_202A_200C_202B_200C_206C_206E_202C_206E_202A_206E_202A_200B_200B_206A_200F_202E(playerNavStateBuilder, (int?)null);
|
||||
int num = ((playerNavState != null) ? 1055627121 : 1055627127);
|
||||
RouteResult routeResult = default(RouteResult);
|
||||
bool? flag = default(bool?);
|
||||
while (true)
|
||||
PlayerNavState playerNavState = playerNavStateBuilder.Build();
|
||||
if (playerNavState == null)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1055627123;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
return false;
|
||||
}
|
||||
RouteResult routeResult = navRouter.FindRoute(playerNavState, territoryId, position);
|
||||
if (routeResult.Segments.Count == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
foreach (NavInstruction item in instructionBuilder.Build(routeResult, territoryId))
|
||||
{
|
||||
bool? flag = StartsWithTeleport(item);
|
||||
if (flag.HasValue)
|
||||
{
|
||||
case 1:
|
||||
return false;
|
||||
case 4:
|
||||
return false;
|
||||
case 2:
|
||||
routeResult = _200C_206A_202A_202C_206A_202E_200C_206D_202C_206B_202D_200D_202B_200D_206C_206D_206C_200D_200D_200F_202C_206F_202D_202C_200E_200D_202D_200D_200F_206D_200D_202D_200F_206C_200F_206D_202A_202D_206C_202E(navRouter, playerNavState, territoryId, position, (IReadOnlySet<string>)null);
|
||||
num = ((_206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(routeResult).Count != 0) ? 1055627120 : 1055627122);
|
||||
break;
|
||||
case 0:
|
||||
num = 1055627127;
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
IEnumerator<NavInstruction> enumerator = _202E_200C_200C_202D_206A_206A_200D_200D_206C_200B_202E_206E_200B_200E_206C_200F_200D_200E_202D_206F_200F_200D_206E_206A_200D_202D_200E_206C_202C_206F_202A_206C_206A_206B_202D_206D_206B_202B_202E_206D_202E(instructionBuilder, routeResult, territoryId, false).GetEnumerator();
|
||||
try
|
||||
{
|
||||
num = 606760973;
|
||||
while (true)
|
||||
{
|
||||
int num7 = num;
|
||||
num3 = 606760975;
|
||||
num4 = num7;
|
||||
int num8 = num4 + num3;
|
||||
int num9 = num4 & num3;
|
||||
switch (num8 - (num9 + num9))
|
||||
{
|
||||
case 2:
|
||||
num = (_206E_206C_206D_202B_206F_200C_200C_200D_202C_206E_202E_202A_202E_200B_206F_206D_206E_206C_206B_202D_202A_206F_200C_206F_202B_206C_200F_200F_202C_206E_206F_206D_200D_206D_202A_202C_202B_202E_200C_206B_202E((IEnumerator)enumerator) ? 606760974 : 606760975);
|
||||
break;
|
||||
case 3:
|
||||
return flag == true;
|
||||
case 1:
|
||||
flag = StartsWithTeleport(enumerator.Current);
|
||||
num = ((!flag.HasValue) ? 606760973 : 606760972);
|
||||
break;
|
||||
case 4:
|
||||
num = 606760973;
|
||||
break;
|
||||
case 0:
|
||||
goto end_IL_00d1;
|
||||
}
|
||||
continue;
|
||||
end_IL_00d1:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
num = ((enumerator == null) ? 409111292 : 409111295);
|
||||
while (true)
|
||||
{
|
||||
int num10 = num;
|
||||
num3 = 409111294;
|
||||
num4 = num10;
|
||||
int num11 = num4 + num3;
|
||||
int num12 = num4 & num3;
|
||||
switch (num11 - (num12 + num12))
|
||||
{
|
||||
case 0:
|
||||
num = 409111295;
|
||||
break;
|
||||
case 2:
|
||||
goto end_IL_01a8;
|
||||
case 1:
|
||||
_202E_206B_202B_202B_202E_202B_202C_200D_206D_200F_202B_206F_206D_206C_200C_206D_200D_200C_202A_200D_200D_200B_202B_206F_202C_202D_202E_206C_200F_200C_200D_206C_200C_202A_202B_206B_200C_202E_202A_200D_202E((IDisposable)enumerator);
|
||||
num = 409111292;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_01a8:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return flag == true;
|
||||
}
|
||||
}
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
return false;
|
||||
static bool? StartsWithTeleport(NavInstruction instruction)
|
||||
{
|
||||
int num13 = ((instruction is NavInstruction.Teleport) ? (-1918761606) : (-1918761610));
|
||||
bool? result = default(bool?);
|
||||
while (true)
|
||||
if (instruction is NavInstruction.Teleport)
|
||||
{
|
||||
int num14 = num13;
|
||||
int num15 = -1918761612;
|
||||
int num16 = num14;
|
||||
int num17 = num16 + num15;
|
||||
int num18 = num16 & num15;
|
||||
switch (num17 - (num18 + num18))
|
||||
{
|
||||
case 4:
|
||||
num13 = -1918761631;
|
||||
break;
|
||||
case 13:
|
||||
result = false;
|
||||
num13 = -1918761628;
|
||||
break;
|
||||
case 22:
|
||||
num13 = ((instruction is NavInstruction.WaitForTerritory) ? (-1918761612) : (-1918761611));
|
||||
break;
|
||||
case 9:
|
||||
num13 = ((instruction is NavInstruction.Land) ? (-1918761613) : (-1918761604));
|
||||
break;
|
||||
case 14:
|
||||
result = true;
|
||||
num13 = -1918761628;
|
||||
break;
|
||||
case 0:
|
||||
result = null;
|
||||
num13 = -1918761628;
|
||||
break;
|
||||
case 1:
|
||||
num13 = ((instruction is NavInstruction.WaitForNavmesh) ? (-1918761605) : (-1918761616));
|
||||
break;
|
||||
case 11:
|
||||
num13 = ((instruction is NavInstruction.InteractWarp) ? (-1918761614) : (-1918761627));
|
||||
break;
|
||||
case 6:
|
||||
result = false;
|
||||
num13 = -1918761628;
|
||||
break;
|
||||
case 18:
|
||||
result = null;
|
||||
num13 = -1918761628;
|
||||
break;
|
||||
case 17:
|
||||
num13 = ((instruction is NavInstruction.SubRegionTransport) ? (-1918761609) : (-1918761603));
|
||||
break;
|
||||
case 16:
|
||||
return result;
|
||||
case 12:
|
||||
result = true;
|
||||
num13 = -1918761628;
|
||||
break;
|
||||
case 5:
|
||||
result = false;
|
||||
num13 = -1918761628;
|
||||
break;
|
||||
case 2:
|
||||
num13 = ((instruction is NavInstruction.UseTeleportTicket) ? (-1918761608) : (-1918761602));
|
||||
break;
|
||||
case 7:
|
||||
result = null;
|
||||
num13 = -1918761628;
|
||||
break;
|
||||
case 19:
|
||||
num13 = -1918761610;
|
||||
break;
|
||||
case 3:
|
||||
result = false;
|
||||
num13 = -1918761628;
|
||||
break;
|
||||
case 21:
|
||||
{
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(29, 1);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(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>(-651151470));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(instruction);
|
||||
throw _200E_202A_206B_206B_206D_206C_206F_206E_200C_200C_206B_202B_200B_200B_202A_202C_200D_200D_202A_200C_206A_200D_202C_200F_206A_202D_202D_206E_202B_202A_206F_202B_206A_200F_206D_206B_202E_200B_200B_200D_202E(defaultInterpolatedStringHandler.ToStringAndClear());
|
||||
}
|
||||
case 8:
|
||||
num13 = ((instruction is NavInstruction.Unmount) ? (-1918761626) : (-1918761630));
|
||||
break;
|
||||
case 10:
|
||||
num13 = ((instruction is NavInstruction.Move) ? (-1918761607) : (-1918761632));
|
||||
break;
|
||||
case 20:
|
||||
num13 = ((instruction is NavInstruction.AethernetHop) ? (-1918761615) : (-1918761601));
|
||||
break;
|
||||
case 15:
|
||||
result = null;
|
||||
num13 = -1918761628;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (instruction is NavInstruction.UseTeleportTicket)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (instruction is NavInstruction.Move)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (instruction is NavInstruction.AethernetHop)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (instruction is NavInstruction.InteractWarp)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (instruction is NavInstruction.SubRegionTransport)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (instruction is NavInstruction.Land)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (instruction is NavInstruction.Unmount)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (instruction is NavInstruction.WaitForTerritory)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (!(instruction is NavInstruction.WaitForNavmesh))
|
||||
{
|
||||
throw new InvalidOperationException($"Unclassified NavInstruction: {instruction}");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -538,44 +156,4 @@ internal sealed class SmartNavRouteEnqueuer(NavRouter navRouter, PlayerNavStateB
|
|||
{
|
||||
reRouteService.ClearDestination();
|
||||
}
|
||||
|
||||
static PlayerNavState _202B_206D_200F_202E_206D_200C_200D_202D_202A_200C_202E_200F_200D_206E_206E_206C_202E_206C_202B_200E_206D_202E_202D_202E_202B_202A_200C_202B_200C_206C_206E_202C_206E_202A_206E_202A_200B_200B_206A_200F_202E(PlayerNavStateBuilder P_0, int? P_1)
|
||||
{
|
||||
return P_0.Build(P_1);
|
||||
}
|
||||
|
||||
static RouteResult _200C_206A_202A_202C_206A_202E_200C_206D_202C_206B_202D_200D_202B_200D_206C_206D_206C_200D_200D_200F_202C_206F_202D_202C_200E_200D_202D_200D_200F_206D_200D_202D_200F_206C_200F_206D_202A_202D_206C_202E(NavRouter P_0, PlayerNavState P_1, uint P_2, Vector3 P_3, IReadOnlySet<string> P_4)
|
||||
{
|
||||
return P_0.FindRoute(P_1, P_2, P_3, P_4);
|
||||
}
|
||||
|
||||
static IReadOnlyList<RouteSegment> _206A_206D_202C_202A_206C_206A_202D_200C_200D_202C_206E_206A_202C_200F_200F_202A_202B_200D_200C_202B_200E_206A_206D_206D_200C_202C_200E_206F_200B_206B_202B_202D_206F_200C_206D_202B_200F_202A_202C_202B_202E(RouteResult P_0)
|
||||
{
|
||||
return P_0.Segments;
|
||||
}
|
||||
|
||||
static void _200F_200B_206D_206C_206A_202B_200E_202A_200D_202C_206A_200E_200D_206D_200E_200F_202E_200C_200C_206D_206A_206B_202D_200B_202B_202D_206D_206E_200C_202B_200D_206B_206F_200C_200D_206A_206D_206A_206E_202D_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
|
||||
static IReadOnlyList<NavInstruction> _202E_200C_200C_202D_206A_206A_200D_200D_206C_200B_202E_206E_200B_200E_206C_200F_200D_200E_202D_206F_200F_200D_206E_206A_200D_202D_200E_206C_202C_206F_202A_206C_206A_206B_202D_206D_206B_202B_202E_206D_202E(RouteInstructionBuilder P_0, RouteResult P_1, uint P_2, bool P_3)
|
||||
{
|
||||
return P_0.Build(P_1, P_2, P_3);
|
||||
}
|
||||
|
||||
static bool _206E_206C_206D_202B_206F_200C_200C_200D_202C_206E_202E_202A_202E_200B_206F_206D_206E_206C_206B_202D_202A_206F_200C_206F_202B_206C_200F_200F_202C_206E_206F_206D_200D_206D_202A_202C_202B_202E_200C_206B_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _202E_206B_202B_202B_202E_202B_202C_200D_206D_200F_202B_206F_206D_206C_200C_206D_200D_200C_202A_200D_200D_200B_202B_206F_202C_202D_202E_206C_200F_200C_200D_206C_200C_202A_202B_206B_200C_202E_202A_200D_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static InvalidOperationException _200E_202A_206B_206B_206D_206C_206F_206E_200C_200C_206B_202B_200B_200B_202A_202C_200D_200D_202A_200C_206A_200D_202C_200F_206A_202D_202D_206E_202B_202A_206F_202B_206A_200F_206D_206B_202E_200B_200B_200D_202E(string P_0)
|
||||
{
|
||||
return new InvalidOperationException(P_0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue