using System; using System.Runtime.CompilerServices; using Dalamud.Plugin; using Dalamud.Plugin.Ipc; using Dalamud.Plugin.Ipc.Exceptions; using Microsoft.Extensions.Logging; namespace Questionable.External; internal sealed class ArtisanIpc { private readonly ILogger _logger; private readonly ICallGateSubscriber _craftItem; private readonly ICallGateSubscriber _isBusy; private readonly ICallGateSubscriber _getEnduranceStatus; private readonly ICallGateSubscriber _setEnduranceStatus; private readonly ICallGateSubscriber _getStopRequest; private readonly ICallGateSubscriber _setStopRequest; [MethodImpl(MethodImplOptions.NoInlining)] public ArtisanIpc(IDalamudPluginInterface pluginInterface, ILogger logger) { _logger = logger; _craftItem = pluginInterface.GetIpcSubscriber(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(47202474)); _isBusy = pluginInterface.GetIpcSubscriber(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(625666467)); _getEnduranceStatus = pluginInterface.GetIpcSubscriber(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(-1864578961)); _setEnduranceStatus = pluginInterface.GetIpcSubscriber(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(70125506)); _getStopRequest = pluginInterface.GetIpcSubscriber(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(-642335670)); _setStopRequest = pluginInterface.GetIpcSubscriber(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(-653283353)); } public bool IsAvailable() { try { _isBusy.InvokeFunc(); return true; } catch (IpcError) { return false; } } [MethodImpl(MethodImplOptions.NoInlining)] public bool IsBusy() { try { return _isBusy.InvokeFunc(); } catch (IpcError ipcError) { _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, 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(-1209801229), Array.Empty()); return false; } } [MethodImpl(MethodImplOptions.NoInlining)] public bool IsCrafting() { try { int num = (_isBusy.InvokeFunc() ? 2072853802 : 2072853801); int result; while (true) { int num2 = num; int num3 = 2072853800; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { default: continue; case 0: goto IL_0050; case 1: result = (_getEnduranceStatus.InvokeFunc() ? 1 : 0); break; case 2: result = 1; break; } break; IL_0050: num = 2072853801; } return (byte)result != 0; } catch (IpcError ipcError) { _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, 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(-2004423705), Array.Empty()); return false; } } [MethodImpl(MethodImplOptions.NoInlining)] public bool CraftItem(ushort recipeId, int quantity) { try { _206E_206F_202D_200E_202D_202D_202A_202E_200C_202C_202E_200E_202C_206A_206A_200D_206E_206A_202C_200C_200E_206D_206F_202E_202A_206A_200E_200D_200E_206A_200D_206E_200C_200D_206B_206B_202E_200F_200D_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(453183658), new object[2] { quantity, recipeId }); _craftItem.InvokeAction(recipeId, quantity); return true; } catch (IpcError ipcError) { _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, 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(-764787723), Array.Empty()); return false; } } [MethodImpl(MethodImplOptions.NoInlining)] public void SetEnduranceStatus(bool enabled) { try { _setEnduranceStatus.InvokeAction(enabled); } catch (IpcError ipcError) { _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, 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(789373689), Array.Empty()); } } [MethodImpl(MethodImplOptions.NoInlining)] public bool GetStopRequest() { try { return _getStopRequest.InvokeFunc(); } catch (IpcError ipcError) { _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, 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(-1603998774), Array.Empty()); return false; } } [MethodImpl(MethodImplOptions.NoInlining)] public void SetStopRequest(bool stop) { try { _setStopRequest.InvokeAction(stop); } catch (IpcError ipcError) { _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E((ILogger)_logger, (Exception)ipcError, 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(1609057736), Array.Empty()); } } static void _200F_206D_206A_202E_202C_202A_206D_206A_202A_200B_206D_202A_206E_200E_200D_202D_202B_200B_200F_206A_200C_206F_206E_206D_206B_202C_206B_206C_206A_202D_206C_202C_202C_206B_206B_200D_206D_202B_206A_202E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) { P_0.LogError(P_1, P_2, P_3); } static void _206E_206F_202D_200E_202D_202D_202A_202E_200C_202C_202E_200E_202C_206A_206A_200D_206E_206A_202C_200C_200E_206D_206F_202E_202A_206A_200E_200D_200E_206A_200D_206E_200C_200D_206B_206B_202E_200F_200D_202B_202E(ILogger P_0, string P_1, object[] P_2) { P_0.LogDebug(P_1, P_2); } }