using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Text; using Dalamud.Plugin.Services; using LLib.Gear; using Microsoft.Extensions.Logging; using Questionable.Data; using Questionable.Functions; namespace Questionable.Controller.Steps.Common; internal static class RepairGear { internal sealed record SelfRepairTask : ITask { [CompilerGenerated] private Type EqualityContract { [CompilerGenerated] get { return _200D_206E_202A_200E_206D_200C_206C_202B_202C_200E_202A_200B_202D_206B_200F_200C_206C_200E_202A_206A_200C_206D_202C_206A_200D_206A_202D_200D_202B_202A_202C_200E_202B_200B_206E_206F_202E_200D_202A_202E(typeof(SelfRepairTask).TypeHandle); } } [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { return 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(-1902425230); } [CompilerGenerated] public bool Equals(SelfRepairTask? other) { int num = (((object)this == other) ? 995045173 : 995045172); while (true) { int num2 = num; int num3 = 995045173; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: num = 995045172; break; case 0: return true; case 4: return false; case 1: num = (((object)other == null) ? 995045169 : 995045174); break; case 3: return _202D_206A_200F_202A_206B_200E_200E_200D_200C_206B_200D_206F_206E_202C_200E_206B_200E_200C_206C_206E_202C_202C_206D_200D_202C_206B_206C_206A_202D_202B_206C_206E_202A_200B_200E_202E_202E_202C_202B_200C_202E(EqualityContract, other.EqualityContract); } } } bool IEquatable.Equals(SelfRepairTask? other) { //ILSpy generated this explicit interface implementation from .override directive in Equals return this.Equals(other); } static Type _200D_206E_202A_200E_206D_200C_206C_202B_202C_200E_202A_200B_202D_206B_200F_200C_206C_200E_202A_206A_200C_206D_202C_206A_200D_206A_202D_200D_202B_202A_202C_200E_202B_200B_206E_206F_202E_200D_202A_202E(RuntimeTypeHandle P_0) { return Type.GetTypeFromHandle(P_0); } static bool _202D_206A_200F_202A_206B_200E_200E_200D_200C_206B_200D_206F_206E_202C_200E_206B_200E_200C_206C_206E_202C_202C_206D_200D_202C_206B_206C_206A_202D_202B_206C_206E_202A_200B_200E_202E_202E_202C_202B_200C_202E(Type P_0, Type P_1) { return P_0 == P_1; } } internal sealed record MenderRepairTask(MenderNpc Npc) : ITask { [CompilerGenerated] private Type EqualityContract { [CompilerGenerated] get { return _202C_206D_202C_206A_200D_206E_202E_200F_206E_206A_200F_206B_200B_200C_202B_202C_202A_202E_206A_200D_206C_202A_206F_200B_206E_206B_206D_202A_200F_206E_202E_202B_202B_206F_202C_202D_200F_206A_200D_200E_202E(typeof(MenderRepairTask).TypeHandle); } } [MethodImpl(MethodImplOptions.NoInlining)] public override string ToString() { DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(14, 1); defaultInterpolatedStringHandler.AppendLiteral(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(-1987309815)); defaultInterpolatedStringHandler.AppendFormatted(Npc.DataId); 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(1735737295)); return defaultInterpolatedStringHandler.ToStringAndClear(); } [MethodImpl(MethodImplOptions.NoInlining)] [CompilerGenerated] private bool PrintMembers(StringBuilder builder) { _206E_200D_206E_202B_200E_200B_200F_202C_200C_202D_206D_202D_202B_206C_206B_206B_200E_200B_200D_200D_200C_202C_200C_202E_200B_200D_206D_202E_200B_200C_200F_206D_202D_202D_200B_200C_202E_200B_206B_200F_202E(); _202C_202D_206F_202B_202C_206B_206F_202B_200C_200D_206D_206A_206B_200E_200B_202B_202D_200F_200B_200F_200D_200E_202C_200D_200E_206D_206B_206B_202B_200C_202B_206E_206A_206C_200B_200E_206E_200C_206A_206A_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(-2086626931)); _206A_206B_202A_202E_200D_202D_202D_206B_200B_200E_200F_206A_206D_200F_200E_206A_202B_202D_200F_200C_200F_200F_202B_206C_206B_200F_206A_206D_206F_206F_206B_202B_206B_206F_206B_200B_200B_200C_200D_202A_202E(builder, (object)Npc); return true; } [CompilerGenerated] public bool Equals(MenderRepairTask? other) { int num = (((object)this == other) ? (-799172425) : (-799172431)); while (true) { int num2 = num; int num3 = -799172430; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 1: return EqualityComparer.Default.Equals(Npc, other.Npc); case 5: return true; case 4: num = -799172431; break; case 2: num = ((!_206B_200D_202E_206B_202B_200D_200B_206E_202B_206C_200D_202E_206D_206E_202D_202C_202C_202D_200D_202D_202A_200D_206F_200B_206C_200E_202C_206F_200E_202A_206F_202B_206F_206D_200E_202A_202B_202C_202C_202A_202E(EqualityContract, other.EqualityContract)) ? (-799172430) : (-799172429)); break; case 0: return false; case 3: num = (((object)other == null) ? (-799172430) : (-799172432)); break; } } } bool IEquatable.Equals(MenderRepairTask? other) { //ILSpy generated this explicit interface implementation from .override directive in Equals return this.Equals(other); } static Type _202C_206D_202C_206A_200D_206E_202E_200F_206E_206A_200F_206B_200B_200C_202B_202C_202A_202E_206A_200D_206C_202A_206F_200B_206E_206B_206D_202A_200F_206E_202E_202B_202B_206F_202C_202D_200F_206A_200D_200E_202E(RuntimeTypeHandle P_0) { return Type.GetTypeFromHandle(P_0); } static void _206E_200D_206E_202B_200E_200B_200F_202C_200C_202D_206D_202D_202B_206C_206B_206B_200E_200B_200D_200D_200C_202C_200C_202E_200B_200D_206D_202E_200B_200C_200F_206D_202D_202D_200B_200C_202E_200B_206B_200F_202E() { RuntimeHelpers.EnsureSufficientExecutionStack(); } static StringBuilder _202C_202D_206F_202B_202C_206B_206F_202B_200C_200D_206D_206A_206B_200E_200B_202B_202D_200F_200B_200F_200D_200E_202C_200D_200E_206D_206B_206B_202B_200C_202B_206E_206A_206C_200B_200E_206E_200C_206A_206A_202E(StringBuilder P_0, string P_1) { return P_0.Append(P_1); } static StringBuilder _206A_206B_202A_202E_200D_202D_202D_206B_200B_200E_200F_206A_206D_200F_200E_206A_202B_202D_200F_200C_200F_200F_202B_206C_206B_200F_206A_206D_206F_206F_206B_202B_206B_206F_206B_200B_200B_200C_200D_202A_202E(StringBuilder P_0, object P_1) { return P_0.Append(P_1); } static bool _206B_200D_202E_206B_202B_200D_200B_206E_202B_206C_200D_202E_206D_206E_202D_202C_202C_202D_200D_202D_202A_200D_206F_200B_206C_200E_202C_206F_200E_202A_206F_202B_206F_206D_200E_202A_202B_202C_202C_202A_202E(Type P_0, Type P_1) { return P_0 == P_1; } } internal enum EState { Interacting, SelectingMenu, OpeningWindow, WaitingForAddon, FiringRepair, Confirming, Settling, Closing, WaitingForClose } internal abstract class RepairExecutorBase(IGameGui gameGui, ILogger logger) : TaskExecutor(), IStoppableTaskExecutor, ITaskExecutor where T : class, ITask { private const long StateTimeoutMs = 5000L; private const long SettleMs = 1000L; private const long PollIntervalMs = 250L; private const int MaxAttempts = 3; private EState _state; private long _stateDeadline; private long _nextPollAt; private int? _conditionBefore; private int _attempt; protected IGameGui GameGui { get; } = gameGui; protected ILogger Logger { get; } = logger; protected abstract EState InitialState { get; } protected abstract bool UpdateCustomState(EState state); protected sealed override bool Start() { _conditionBefore = _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E(); _attempt = 1; EnterState(InitialState); _nextPollAt = 0L; return true; } [MethodImpl(MethodImplOptions.NoInlining)] public sealed override ETaskResult Update() { long num = _206B_202D_202A_206E_206C_206F_206F_202B_206E_202E_200E_202B_200F_200F_200F_202C_206A_206D_206D_202E_206A_202B_200E_206C_206E_200D_206B_200F_200B_206C_206B_206D_200D_206E_206A_206A_202A_206A_206E_206D_202E(); int num2 = ((num >= _nextPollAt) ? 2095781305 : 2095781289); while (true) { int num3 = num2; int num4 = 2095781295; int num5 = num3; switch ((num5 | num4) - (num5 & num4)) { case 11: num2 = 2095781289; break; case 5: num2 = (UpdateCustomState(_state) ? 2095781294 : 2095781281); break; case 1: return ETaskResult.StillRunning; case 12: num2 = 2095781290; break; case 22: { long num6 = 250L; long num7 = num; _nextPollAt = (num7 | num6) + (num7 & num6); num2 = ((num <= _stateDeadline) ? 2095781287 : 2095781309); break; } case 17: EnterState(EState.FiringRepair); num2 = 2095781294; break; case 6: return ETaskResult.StillRunning; case 3: goto IL_0140; case 24: goto IL_0166; case 4: goto IL_018c; case 19: _200B_202E_200B_206C_202C_202C_206E_206D_202B_200F_200C_200B_202E_206C_202D_202E_206B_200D_200F_200B_206D_202C_200C_206E_206F_202B_200E_206C_206E_200D_200F_200B_206A_200B_202A_200C_202B_200C_200F_200E_202E(GameGui); num2 = 2095781294; break; case 8: switch (_state) { case EState.Settling: break; case EState.Confirming: goto IL_0140; case EState.WaitingForClose: goto IL_0166; case EState.FiringRepair: goto IL_018c; default: goto IL_01f4; case EState.Closing: goto IL_0245; case EState.WaitingForAddon: goto IL_026b; case EState.OpeningWindow: goto IL_0291; } goto case 1; case 18: num2 = ((_state != EState.Settling) ? 2095781304 : 2095781302); break; case 13: EnterState(EState.Settling); num2 = 2095781294; break; case 25: EnterState(EState.Closing); num2 = 2095781287; break; case 15: goto IL_0245; case 20: goto IL_026b; case 7: goto IL_0291; case 16: EnterState(EState.WaitingForAddon); num2 = 2095781294; break; case 0: EnterState(EState.Settling); num2 = 2095781294; break; case 21: EnterState(EState.WaitingForClose); num2 = 2095781294; break; case 10: EnterState(EState.Confirming); num2 = 2095781294; break; case 23: _206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(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(-310683176), new object[2] { _state, _200B_200E_200E_202D_202A_206F_206F_202A_202B_206D_200C_200D_202B_202B_206E_206F_206E_206B_206E_202C_202D_202E_202B_206C_200D_202A_200C_202A_200F_206F_206D_202E_202D_202E_202B_206B_206B_200F_206E_200E_202E(GameGui) }); _202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui); return Finish(); case 2: return Finish(); case 9: num2 = ((!HasConditionImproved()) ? 2095781308 : 2095781295); break; case 14: { DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(23, 1); 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(1145949598)); defaultInterpolatedStringHandler.AppendFormatted(_state); throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear()); } IL_018c: num2 = ((!_200B_202E_200B_206C_202C_202C_206E_206D_202B_200F_200C_200B_202E_206C_202D_202E_206B_200D_200F_200B_206D_202C_200C_206E_206F_202B_200E_206C_206E_200D_200F_200B_206A_200B_202A_200C_202B_200C_200F_200E_202E(GameGui)) ? 2095781294 : 2095781285); break; IL_0166: num2 = (_206B_202C_206A_202C_206F_206D_202E_202B_206B_206D_202C_206D_202B_206B_206E_200B_202C_202D_206C_200C_202E_202C_200D_202A_200C_200F_200F_200C_202E_200D_200E_206C_206C_200C_200C_200E_200F_206A_200D_202B_202E(GameGui) ? 2095781294 : 2095781293); break; IL_0291: num2 = ((!_202A_202E_202D_200D_200C_202E_206C_200C_206C_206F_202B_200D_206E_206A_206D_202C_206D_206F_200C_202B_202A_206B_206E_202C_200C_202D_200C_202D_206D_200C_200B_200D_200D_202C_202C_206A_206E_200F_202D_206E_202E()) ? 2095781294 : 2095781311); break; IL_026b: num2 = ((!_206B_202C_206A_202C_206F_206D_202E_202B_206B_206D_202C_206D_202B_206B_206E_200B_202C_202D_206C_200C_202E_202C_200D_202A_200C_200F_200F_200C_202E_200D_200E_206C_206C_200C_200C_200E_200F_206A_200D_202B_202E(GameGui)) ? 2095781294 : 2095781310); break; IL_0140: num2 = ((!_202E_202D_206A_202E_206D_206F_206E_200B_202A_202E_200C_200F_200D_202C_206E_206C_200F_200C_202A_206C_202C_200C_206D_200E_200E_202B_200F_202D_200B_202B_200C_202E_206E_206C_202C_206C_206D_200E_202B_206E_202E(GameGui)) ? 2095781286 : 2095781282); break; IL_0245: num2 = ((!_202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui)) ? 2095781294 : 2095781306); break; IL_01f4: num2 = 2095781283; break; } } } protected void EnterState(EState state) { _state = state; _stateDeadline = _206B_202D_202A_206E_206C_206F_206F_202B_206E_202E_200E_202B_200F_200F_200F_202C_206A_206D_206D_202E_206A_202B_200E_206C_206E_200D_206B_200F_200B_206C_206B_206D_200D_206E_206A_206A_202A_206A_206E_206D_202E() + ((state == EState.Settling) ? 1000 : 5000); } private bool HasConditionImproved() { int? num = _conditionBefore; int num2 = ((!num.HasValue) ? (-1406824238) : (-1406824240)); int valueOrDefault = default(int); while (true) { int num3 = num2; int num4 = -1406824237; int num5 = num3; int num6 = num5 + num4; int num7 = num5 & num4; switch (num6 - (num7 + num7)) { case 0: num2 = -1406824240; break; case 2: { int valueOrDefault2 = num.GetValueOrDefault(); return valueOrDefault2 > valueOrDefault; } case 1: return false; case 3: valueOrDefault = num.GetValueOrDefault(); num = _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E(); num2 = ((!num.HasValue) ? (-1406824238) : (-1406824239)); break; } } } [MethodImpl(MethodImplOptions.NoInlining)] private ETaskResult Finish() { int? num = _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E(); int num2 = ((!HasConditionImproved()) ? 1917505746 : 1917505745); while (true) { int num3 = num2; int num4 = 1917505746; int num5 = num3; switch ((num5 | num4) - (num5 & num4)) { case 1: { int attempt = _attempt; num4 = 1; num5 = attempt; _attempt = (num5 | num4) + (num5 & num4); _206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(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(146386847), new object[3] { num, _attempt, 3 }); _202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui); EnterState(InitialState); return ETaskResult.StillRunning; } case 3: _200E_206D_202E_200B_202B_202E_200E_202E_206F_202D_202B_206D_202B_206F_202D_206E_202B_202B_202C_200E_202B_200D_202A_202C_202B_200B_202D_202C_206F_202D_206E_202B_200E_206D_206E_202D_200E_206E_200F_206F_202E(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(-1763627757), new object[2] { _conditionBefore, num }); return ETaskResult.TaskComplete; case 0: num2 = ((_attempt >= 3) ? 1917505750 : 1917505747); break; case 2: num2 = 1917505745; break; case 4: _206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(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(1921865562), new object[1] { num }); return ETaskResult.TaskComplete; } } } public void StopNow() { _202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui); } void IStoppableTaskExecutor.StopNow() { //ILSpy generated this explicit interface implementation from .override directive in StopNow this.StopNow(); } static int? _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E() { return GearConditionHelper.GetLowestConditionPercent(); } static long _206B_202D_202A_206E_206C_206F_206F_202B_206E_202E_200E_202B_200F_200F_200F_202C_206A_206D_206D_202E_206A_202B_200E_206C_206E_200D_206B_200F_200B_206C_206B_206D_200D_206E_206A_206A_202A_206A_206E_206D_202E() { return Environment.TickCount64; } static string _200B_200E_200E_202D_202A_206F_206F_202A_202B_206D_200C_200D_202B_202B_206E_206F_206E_206B_206E_202C_202D_202E_202B_206C_200D_202A_200C_202A_200F_206F_206D_202E_202D_202E_202B_206B_206B_200F_206E_200E_202E(IGameGui P_0) { return RepairActions.DescribeRepairAddon(P_0); } static void _206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(ILogger P_0, string P_1, object[] P_2) { P_0.LogWarning(P_1, P_2); } static bool _202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(IGameGui P_0) { return RepairActions.TryCloseRepairWindow(P_0); } static bool _202A_202E_202D_200D_200C_202E_206C_200C_206C_206F_202B_200D_206E_206A_206D_202C_206D_206F_200C_202B_202A_206B_206E_202C_200C_202D_200C_202D_206D_200C_200B_200D_200D_202C_202C_206A_206E_200F_202D_206E_202E() { return RepairActions.TryOpenRepairWindow(); } static bool _206B_202C_206A_202C_206F_206D_202E_202B_206B_206D_202C_206D_202B_206B_206E_200B_202C_202D_206C_200C_202E_202C_200D_202A_200C_200F_200F_200C_202E_200D_200E_206C_206C_200C_200C_200E_200F_206A_200D_202B_202E(IGameGui P_0) { return RepairActions.IsRepairAddonReady(P_0); } static bool _200B_202E_200B_206C_202C_202C_206E_206D_202B_200F_200C_200B_202E_206C_202D_202E_206B_200D_200F_200B_206D_202C_200C_206E_206F_202B_200E_206C_206E_200D_200F_200B_206A_200B_202A_200C_202B_200C_200F_200E_202E(IGameGui P_0) { return RepairActions.TryRepairAll(P_0); } static bool _202E_202D_206A_202E_206D_206F_206E_200B_202A_202E_200C_200F_200D_202C_206E_206C_200F_200C_202A_206C_202C_200C_206D_200E_200E_202B_200F_202D_200B_202B_200C_202E_206E_206C_202C_206C_206D_200E_202B_206E_202E(IGameGui P_0) { return RepairActions.TryConfirmDialog(P_0); } static void _200E_206D_202E_200B_202B_202E_200E_202E_206F_202D_202B_206D_202B_206F_202D_206E_202B_202B_202C_200E_202B_200D_202A_202C_202B_200B_202D_202C_206F_202D_206E_202B_200E_206D_206E_202D_200E_206E_200F_206F_202E(ILogger P_0, string P_1, object[] P_2) { P_0.LogInformation(P_1, P_2); } } internal sealed class SelfRepairExecutor : RepairExecutorBase { protected override EState InitialState => EState.OpeningWindow; public SelfRepairExecutor(IGameGui gameGui, ILogger logger) : base(gameGui, (ILogger)logger) { } protected override bool UpdateCustomState(EState state) { return false; } public override bool ShouldInterruptOnDamage() { return false; } } internal sealed class MenderRepairExecutor : RepairExecutorBase { protected override EState InitialState => EState.Interacting; public MenderRepairExecutor(IGameGui gameGui, GameFunctions gameFunctions, IDataManager dataManager, ILogger logger) { _003CgameFunctions_003EP = gameFunctions; _003CdataManager_003EP = dataManager; base._002Ector(gameGui, (ILogger)logger); } [MethodImpl(MethodImplOptions.NoInlining)] protected override bool UpdateCustomState(EState state) { int num = ((state == EState.Interacting) ? 293305294 : 293305289); int? num7 = default(int?); while (true) { int num2 = num; int num3 = 293305291; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 12: EnterState(EState.FiringRepair); return true; case 11: return true; case 2: num = ((state == EState.SelectingMenu) ? 293305290 : 293305282); break; case 5: num = ((!_003CgameFunctions_003EP.InteractWith(base.Task.Npc.DataId)) ? 293305280 : 293305283); break; case 9: num = 293305281; break; case 4: _202E_200D_202B_202E_202A_200F_206B_206A_200E_206D_206D_206A_206A_202D_202D_200D_200C_200F_202A_206F_202D_202A_200F_206D_202B_200D_206B_206D_206F_200D_202C_200D_206A_202D_202C_202A_206D_200C_200F_200C_202E(base.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(2096442858), new object[1] { base.Task.Npc.DataId }); EnterState(EState.Closing); return true; case 0: num = ((!_206D_200B_200C_206A_200B_202E_200B_200F_206D_200C_200D_206D_206E_206D_202C_202B_206A_202D_202C_206B_202D_202D_206A_202B_206E_206F_200D_202D_200C_202B_202D_200E_206B_200B_200B_202B_200B_206C_202E(base.GameGui, num7.Value)) ? 293305292 : 293305288); break; case 6: num7 = _202E_200D_202B_206B_200E_200D_206B_200C_200B_202C_200F_200F_206A_200E_202C_206C_200C_202C_202D_202A_202A_206C_206F_206C_200F_200E_200B_200F_206C_202D_206B_202E_206E_202B_202A_200B_202E_200B_206C_206A_202E(_003CdataManager_003EP, base.Task.Npc.DataId); num = (num7.HasValue ? 293305291 : 293305295); break; case 3: EnterState(EState.WaitingForAddon); num = 293305292; break; case 10: return false; case 13: num = 293305289; break; case 1: num = ((!_206D_202D_200D_200B_202D_202C_206E_206E_202C_206E_206F_206A_200D_206C_200C_202C_202C_206C_206D_200B_200F_206D_200E_202C_202A_206B_206F_200E_206C_200F_206C_202A_200C_206B_206C_200B_200B_200E_202E_202E(base.GameGui)) ? 293305293 : 293305287); break; case 8: EnterState(EState.SelectingMenu); num = 293305280; break; case 7: return true; } } } public override bool ShouldInterruptOnDamage() { return true; } static bool _206D_202D_200D_200B_202D_202C_206E_206E_202C_206E_206F_206A_200D_206C_200C_202C_202C_206C_206D_200B_200F_206D_200E_202C_202A_206B_206F_200E_206C_200F_206C_202A_200C_206B_206C_200B_200B_200E_202E_202E(IGameGui P_0) { return RepairActions.IsRepairAddonReady(P_0); } static int? _202E_200D_202B_206B_200E_200D_206B_200C_200B_202C_200F_200F_206A_200E_202C_206C_200C_202C_202D_202A_202A_206C_206F_206C_200F_200E_200B_200F_206C_202D_206B_202E_206E_202B_202A_200B_202E_200B_206C_206A_202E(IDataManager P_0, uint P_1) { return RepairActions.FindRepairIndex(P_0, P_1); } static void _202E_200D_202B_202E_202A_200F_206B_206A_200E_206D_206D_206A_206A_202D_202D_200D_200C_200F_202A_206F_202D_202A_200F_206D_202B_200D_206B_206D_206F_200D_202C_200D_206A_202D_202C_202A_206D_200C_200F_200C_202E(ILogger P_0, string P_1, object[] P_2) { P_0.LogWarning(P_1, P_2); } static bool _206D_200B_200C_206A_200B_202E_200B_200F_206D_200C_200D_206D_206E_206D_202C_202B_206A_202D_202C_206B_202D_202D_206A_202B_206E_206F_200D_202D_200C_202B_202D_200E_206B_200B_200B_202B_200B_206C_202E(IGameGui P_0, int P_1) { return RepairActions.TrySelectRepairFromMenu(P_0, P_1); } } }