forked from aly/qstbak
muffin v7.5.11
This commit is contained in:
parent
addf2d530f
commit
3102923ce2
522 changed files with 41082 additions and 211592 deletions
|
|
@ -1,9 +1,6 @@
|
|||
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.Common;
|
||||
|
|
@ -17,195 +14,57 @@ internal sealed class SmartNavReRouteService(ReRoutePolicy reRoutePolicy, SmartN
|
|||
{
|
||||
public void SetDestination(uint territoryId, Vector3 position)
|
||||
{
|
||||
_202A_200D_200E_206F_202C_206E_200D_202E_202C_200D_200C_206C_202A_200C_206B_206A_202A_202E_206A_206F_200D_206E_206B_200C_202D_206A_206C_206D_206A_202E_206A_202B_200D_202E_206D_206E_202A_202E_202C_206E_202E(reRoutePolicy, territoryId, position);
|
||||
reRoutePolicy.SetDestination(territoryId, position);
|
||||
}
|
||||
|
||||
public void ClearDestination()
|
||||
{
|
||||
_206E_200E_202B_200E_200B_200B_200D_200C_202C_202B_202A_200D_202B_206A_200D_206E_206F_200D_206D_206F_200C_202B_206E_206E_206E_206F_206F_206D_206A_202B_202A_202B_200C_202D_202E_202D_206F_200C_206E_206B_202E(reRoutePolicy);
|
||||
reRoutePolicy.ClearDestination();
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public bool HandleMovementFailure(TaskQueue taskQueue)
|
||||
{
|
||||
int num = (configuration.Navigation.ReRouteOnFailure ? 1710893574 : 1710893572);
|
||||
ReRouteDecision reRouteDecision = default(ReRouteDecision);
|
||||
List<ITask> list = default(List<ITask>);
|
||||
string routeTargetNodeId = default(string);
|
||||
MoveTask moveTask = default(MoveTask);
|
||||
string text = default(string);
|
||||
string text2 = default(string);
|
||||
while (true)
|
||||
if (!configuration.Navigation.ReRouteOnFailure)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1710893573;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
return false;
|
||||
}
|
||||
string failedTargetNodeId = null;
|
||||
string failedApproachNodeId = null;
|
||||
if (taskQueue.CurrentTaskExecutor?.CurrentTask is MoveTask moveTask)
|
||||
{
|
||||
string routeTargetNodeId = moveTask.RouteTargetNodeId;
|
||||
if (routeTargetNodeId != null)
|
||||
{
|
||||
case 4:
|
||||
{
|
||||
if (!(reRouteDecision is ReRouteDecision.Replan replan))
|
||||
{
|
||||
num = 1710893570;
|
||||
break;
|
||||
}
|
||||
taskQueue.Reset();
|
||||
IEnumerator<ITask> enumerator2 = taskMapper.MapInstructions(_206F_206E_200E_202C_202E_202C_202A_202B_202D_200E_200D_202B_200C_200D_200F_206B_200D_206B_202A_202C_206D_202E_202B_206B_200E_200E_206C_206F_200F_200D_202A_200E_206F_206E_202A_200E_206F_206D_206D_200F_202E(replan)).GetEnumerator();
|
||||
try
|
||||
{
|
||||
num = 82705300;
|
||||
while (true)
|
||||
{
|
||||
int num6 = num;
|
||||
num3 = 82705303;
|
||||
num4 = num6;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 3:
|
||||
num = (_200D_206F_200C_202D_202C_202C_202C_200D_206C_202C_202A_206A_206F_202B_200D_202C_206B_200E_206C_200B_200D_200D_200D_202A_202E_202C_206B_200C_206C_202B_202C_206E_206F_202C_200D_200C_206F_202D_202D_200E_202E((IEnumerator)enumerator2) ? 82705302 : 82705303);
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
ITask current2 = enumerator2.Current;
|
||||
taskQueue.Enqueue(current2);
|
||||
num = 82705300;
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
num = 82705300;
|
||||
break;
|
||||
case 0:
|
||||
goto end_IL_026e;
|
||||
}
|
||||
continue;
|
||||
end_IL_026e:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
num = ((enumerator2 == null) ? 1773046636 : 1773046637);
|
||||
while (true)
|
||||
{
|
||||
int num7 = num;
|
||||
num3 = 1773046636;
|
||||
num4 = num7;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = 1773046637;
|
||||
break;
|
||||
case 0:
|
||||
goto end_IL_030f;
|
||||
case 1:
|
||||
_206E_202B_200E_206F_202B_202E_202D_206C_206F_200D_202E_206E_200D_200B_200B_200B_206F_200D_200B_206E_202E_202A_202E_206D_202E_206D_206D_200B_200C_206C_202D_200D_206A_206C_206D_200C_202E_202C_202B_200F_202E((IDisposable)enumerator2);
|
||||
num = 1773046636;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
end_IL_030f:
|
||||
break;
|
||||
}
|
||||
}
|
||||
using (List<ITask>.Enumerator enumerator = list.GetEnumerator())
|
||||
{
|
||||
num = -1421091636;
|
||||
while (true)
|
||||
{
|
||||
int num8 = num;
|
||||
num3 = -1421091636;
|
||||
num4 = num8;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = (enumerator.MoveNext() ? (-1421091635) : (-1421091634));
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
ITask current3 = enumerator.Current;
|
||||
taskQueue.Enqueue(current3);
|
||||
num = -1421091636;
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
num = -1421091636;
|
||||
break;
|
||||
case 2:
|
||||
goto end_IL_0370;
|
||||
}
|
||||
continue;
|
||||
end_IL_0370:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
case 6:
|
||||
routeTargetNodeId = moveTask.RouteTargetNodeId;
|
||||
num = ((routeTargetNodeId == null) ? 1710893575 : 1710893573);
|
||||
break;
|
||||
case 1:
|
||||
return false;
|
||||
case 0:
|
||||
text = routeTargetNodeId;
|
||||
text2 = moveTask.RouteApproachNodeId;
|
||||
num = 1710893575;
|
||||
break;
|
||||
case 8:
|
||||
num = 1710893572;
|
||||
break;
|
||||
case 3:
|
||||
text = null;
|
||||
text2 = null;
|
||||
moveTask = taskQueue.CurrentTaskExecutor?.CurrentTask as MoveTask;
|
||||
num = (((object)moveTask == null) ? 1710893575 : 1710893571);
|
||||
break;
|
||||
case 2:
|
||||
list = ExtractNonMovementTasks(taskQueue);
|
||||
reRouteDecision = _202A_206C_202A_200F_202D_200E_206B_202C_200D_200D_206C_206D_202C_202C_200B_200D_202E_202C_202C_202E_200E_206D_206A_206E_206F_200D_206E_200B_202E_202B_200E_200B_200D_200B_206D_206D_200D_206B_206F_206C_202E(reRoutePolicy, text, text2, list.Count > 0);
|
||||
num = ((reRouteDecision is ReRouteDecision.SkipMovement) ? 1710893568 : 1710893569);
|
||||
break;
|
||||
case 5:
|
||||
{
|
||||
taskQueue.Reset();
|
||||
using (List<ITask>.Enumerator enumerator = list.GetEnumerator())
|
||||
{
|
||||
num = -1903368627;
|
||||
while (true)
|
||||
{
|
||||
int num5 = num;
|
||||
num3 = -1903368628;
|
||||
num4 = num5;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 1:
|
||||
num = (enumerator.MoveNext() ? (-1903368625) : (-1903368626));
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
ITask current = enumerator.Current;
|
||||
taskQueue.Enqueue(current);
|
||||
num = -1903368627;
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
num = -1903368627;
|
||||
break;
|
||||
case 2:
|
||||
goto end_IL_0186;
|
||||
}
|
||||
continue;
|
||||
end_IL_0186:
|
||||
break;
|
||||
}
|
||||
}
|
||||
_200E_200C_202D_206D_206E_206D_202D_202E_206F_200F_206F_200B_206B_206D_202C_206B_202C_206B_202D_206F_206B_206D_206F_200D_206E_206E_206C_202C_200E_202B_202B_206C_200B_202B_206A_202C_200D_202D_202B_202C_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>(563060847), new object[1] { list.Count });
|
||||
return true;
|
||||
}
|
||||
case 7:
|
||||
return false;
|
||||
failedTargetNodeId = routeTargetNodeId;
|
||||
failedApproachNodeId = moveTask.RouteApproachNodeId;
|
||||
}
|
||||
}
|
||||
List<ITask> list = ExtractNonMovementTasks(taskQueue);
|
||||
ReRouteDecision reRouteDecision = reRoutePolicy.HandleMovementFailure(failedTargetNodeId, failedApproachNodeId, list.Count > 0);
|
||||
if (!(reRouteDecision is ReRouteDecision.SkipMovement))
|
||||
{
|
||||
if (reRouteDecision is ReRouteDecision.Replan replan)
|
||||
{
|
||||
taskQueue.Reset();
|
||||
foreach (ITask item in taskMapper.MapInstructions(replan.Instructions))
|
||||
{
|
||||
taskQueue.Enqueue(item);
|
||||
}
|
||||
foreach (ITask item2 in list)
|
||||
{
|
||||
taskQueue.Enqueue(item2);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
taskQueue.Reset();
|
||||
foreach (ITask item3 in list)
|
||||
{
|
||||
taskQueue.Enqueue(item3);
|
||||
}
|
||||
logger.LogInformation("Re-route: skipping movement with {TaskCount} preserved tasks", list.Count);
|
||||
return true;
|
||||
}
|
||||
|
||||
private static List<ITask> ExtractNonMovementTasks(TaskQueue taskQueue)
|
||||
|
|
@ -215,96 +74,10 @@ internal sealed class SmartNavReRouteService(ReRoutePolicy reRoutePolicy, SmartN
|
|||
|
||||
private static bool IsMovementTask(ITask task)
|
||||
{
|
||||
int num = ((task is MoveTask) ? (-89420229) : (-89420235));
|
||||
bool result = default(bool);
|
||||
while (true)
|
||||
if (task is MoveTask || task is LandTask || task is Mount.MountTask || task is AetheryteTeleport.Task || task is AethernetRide.Task || task is WaitNavmesh.Task || task is WaitCondition.Task || task is WarpInteract.Task || task is TaxiInteract.Task || task is SubRegionTransport.Task || task is TicketTeleport.Task)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -89420240;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 4:
|
||||
num = ((task is TaxiInteract.Task) ? (-89420229) : (-89420238));
|
||||
break;
|
||||
case 11:
|
||||
result = true;
|
||||
num = -89420230;
|
||||
break;
|
||||
case 6:
|
||||
num = ((task is WaitCondition.Task) ? (-89420229) : (-89420228));
|
||||
break;
|
||||
case 13:
|
||||
num = ((task is AethernetRide.Task) ? (-89420229) : (-89420239));
|
||||
break;
|
||||
case 12:
|
||||
num = ((task is WarpInteract.Task) ? (-89420229) : (-89420236));
|
||||
break;
|
||||
case 9:
|
||||
result = false;
|
||||
num = -89420230;
|
||||
break;
|
||||
case 7:
|
||||
num = ((task is Mount.MountTask) ? (-89420229) : (-89420237));
|
||||
break;
|
||||
case 8:
|
||||
num = -89420235;
|
||||
break;
|
||||
case 3:
|
||||
num = ((task is AetheryteTeleport.Task) ? (-89420229) : (-89420227));
|
||||
break;
|
||||
case 2:
|
||||
num = ((task is SubRegionTransport.Task) ? (-89420229) : (-89420240));
|
||||
break;
|
||||
case 1:
|
||||
num = ((task is WaitNavmesh.Task) ? (-89420229) : (-89420234));
|
||||
break;
|
||||
case 0:
|
||||
num = ((!(task is TicketTeleport.Task)) ? (-89420231) : (-89420229));
|
||||
break;
|
||||
case 10:
|
||||
return result;
|
||||
case 5:
|
||||
num = ((task is LandTask) ? (-89420229) : (-89420233));
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
static void _202A_200D_200E_206F_202C_206E_200D_202E_202C_200D_200C_206C_202A_200C_206B_206A_202A_202E_206A_206F_200D_206E_206B_200C_202D_206A_206C_206D_206A_202E_206A_202B_200D_202E_206D_206E_202A_202E_202C_206E_202E(ReRoutePolicy P_0, uint P_1, Vector3 P_2)
|
||||
{
|
||||
P_0.SetDestination(P_1, P_2);
|
||||
}
|
||||
|
||||
static void _206E_200E_202B_200E_200B_200B_200D_200C_202C_202B_202A_200D_202B_206A_200D_206E_206F_200D_206D_206F_200C_202B_206E_206E_206E_206F_206F_206D_206A_202B_202A_202B_200C_202D_202E_202D_206F_200C_206E_206B_202E(ReRoutePolicy P_0)
|
||||
{
|
||||
P_0.ClearDestination();
|
||||
}
|
||||
|
||||
static ReRouteDecision _202A_206C_202A_200F_202D_200E_206B_202C_200D_200D_206C_206D_202C_202C_200B_200D_202E_202C_202C_202E_200E_206D_206A_206E_206F_200D_206E_200B_202E_202B_200E_200B_200D_200B_206D_206D_200D_206B_206F_206C_202E(ReRoutePolicy P_0, string P_1, string P_2, bool P_3)
|
||||
{
|
||||
return P_0.HandleMovementFailure(P_1, P_2, P_3);
|
||||
}
|
||||
|
||||
static void _200E_200C_202D_206D_206E_206D_202D_202E_206F_200F_206F_200B_206B_206D_202C_206B_202C_206B_202D_206F_206B_206D_206F_200D_206E_206E_206C_202C_200E_202B_202B_206C_200B_202B_206A_202C_200D_202D_202B_202C_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogInformation(P_1, P_2);
|
||||
}
|
||||
|
||||
static IReadOnlyList<NavInstruction> _206F_206E_200E_202C_202E_202C_202A_202B_202D_200E_200D_202B_200C_200D_200F_206B_200D_206B_202A_202C_206D_202E_202B_206B_200E_200E_206C_206F_200F_200D_202A_200E_206F_206E_202A_200E_206F_206D_206D_200F_202E(ReRouteDecision.Replan P_0)
|
||||
{
|
||||
return P_0.Instructions;
|
||||
}
|
||||
|
||||
static bool _200D_206F_200C_202D_202C_202C_202C_200D_206C_202C_202A_206A_206F_202B_200D_202C_206B_200E_206C_200B_200D_200D_200D_202A_202E_202C_206B_200C_206C_202B_202C_206E_206F_202C_200D_200C_206F_202D_202D_200E_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _206E_202B_200E_206F_202B_202E_202D_206C_206F_200D_202E_206E_200D_200B_200B_200B_206F_200D_200B_206E_202E_202A_202E_206D_202E_206D_206D_200B_200C_206C_202D_200D_206A_206C_206D_200C_202E_202C_202B_200F_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue