using System; using System.Numerics; using System.Runtime.CompilerServices; using Dalamud.Bindings.ImGui; using Dalamud.Interface; using Dalamud.Interface.Colors; using Dalamud.Interface.ManagedFontAtlas; using Dalamud.Plugin; using FFXIVClientStructs.FFXIV.Client.Game.UI; using Questionable.Controller; using Questionable.Functions; using Questionable.Model.Questing; namespace Questionable.Windows; internal sealed class UiUtils { private readonly QuestFunctions _questFunctions; private readonly QuestRegistry _questRegistry; private readonly IDalamudPluginInterface _pluginInterface; public UiUtils(QuestFunctions questFunctions, QuestRegistry questRegistry, IDalamudPluginInterface pluginInterface) { _questFunctions = questFunctions; _questRegistry = questRegistry; _pluginInterface = pluginInterface; } [MethodImpl(MethodImplOptions.NoInlining)] public (Vector4 Color, FontAwesomeIcon Icon, string Status) GetQuestStyle(ElementId elementId) { int num = ((!_questFunctions.IsQuestAccepted(elementId)) ? (-1441801408) : (-1441801406)); QuestId questId = default(QuestId); while (true) { int num2 = num; int num3 = -1441801390; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 8: num = ((!_questFunctions.IsQuestComplete(questId)) ? (-1441801384) : (-1441801407)); break; case 19: return (Color: UiThemeUtils.StatusAvailableComplete, Icon: FontAwesomeIcon.Running, Status: 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(871452467)); case 18: questId = elementId as QuestId; num = (((object)questId == null) ? (-1441801402) : (-1441801380)); break; case 21: num = (_questRegistry.IsKnownQuest(elementId) ? (-1441801386) : (-1441801385)); break; case 3: num = (_questFunctions.IsReadyToAcceptQuest(questId) ? (-1441801382) : (-1441801379)); break; case 5: return (Color: UiThemeUtils.StatusLocked, Icon: FontAwesomeIcon.Times, Status: 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(-1267300956)); case 1: return (Color: UiThemeUtils.StatusBlacklisted, Icon: FontAwesomeIcon.Ban, Status: 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(-833431314)); case 13: num = ((!_questFunctions.IsReadyToAcceptQuest(elementId)) ? (-1441801385) : (-1441801401)); break; case 10: return (Color: UiThemeUtils.StatusAvailable, Icon: FontAwesomeIcon.Running, Status: 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(-1067102916)); case 14: num = ((!_questFunctions.IsDailyAlliedSocietyQuestAndAvailableToday(questId)) ? (-1441801402) : (-1441801390)); break; case 20: num = ((!_questFunctions.IsQuestAcceptedOrComplete(elementId)) ? (-1441801388) : (-1441801378)); break; case 7: return (Color: UiThemeUtils.StatusUnobtainable, Icon: FontAwesomeIcon.Minus, Status: 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(576385889)); case 16: return (Color: UiThemeUtils.StatusActive, Icon: FontAwesomeIcon.PersonWalkingArrowRight, Status: 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(1970753606)); case 6: num = ((!_questFunctions.IsQuestUnobtainable(elementId)) ? (-1441801392) : (-1441801387)); break; case 15: return (Color: UiThemeUtils.StatusComplete, Icon: FontAwesomeIcon.Check, Status: 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(1552042899)); case 0: num = ((!_questFunctions.IsQuestBlacklisted(questId)) ? (-1441801391) : (-1441801381)); break; case 9: return (Color: UiThemeUtils.StatusBlacklisted, Icon: FontAwesomeIcon.Ban, Status: 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(-1976852282)); case 11: num = -1441801406; break; case 17: num = (_questFunctions.IsQuestLocked(elementId) ? (-1441801385) : (-1441801377)); break; case 2: num = ((!_questFunctions.IsQuestBlacklisted(elementId)) ? (-1441801405) : (-1441801389)); break; case 4: return (Color: UiThemeUtils.StatusAvailable, Icon: FontAwesomeIcon.Running, Status: 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(1166519045)); case 12: return (Color: UiThemeUtils.StatusComplete, Icon: FontAwesomeIcon.Check, Status: 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(1552042899)); } } } public static (Vector4 color, FontAwesomeIcon icon) GetInstanceStyle(ushort instanceId) { int num = ((!UIState.IsInstanceContentCompleted(instanceId)) ? (-627417922) : (-627417921)); while (true) { int num2 = num; int num3 = -627417923; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 3: num = ((!UIState.IsInstanceContentUnlocked(instanceId)) ? (-627417924) : (-627417927)); break; case 2: return (color: UiThemeUtils.StatusComplete, icon: FontAwesomeIcon.Check); case 0: num = -627417921; break; case 1: return (color: UiThemeUtils.StatusLocked, icon: FontAwesomeIcon.Times); case 4: return (color: UiThemeUtils.StatusActive, icon: FontAwesomeIcon.Running); } } } public bool ChecklistItem(string text, Vector4 color, FontAwesomeIcon icon, float extraPadding = 0f, bool asBadge = false) { int num = ((!asBadge) ? (-1166254314) : (-1166254313)); while (true) { int num2 = num; int num3 = -1166254314; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 3: num = -1166254313; break; case 2: _206F_200D_200F_200B_200F_200C_206C_206A_202E_206F_206D_200E_202B_202B_202B_200C_206A_206A_200C_200C_200C_200D_202D_200B_206F_202E_206F_202D_206F_200C_206A_202A_202D_200B_202D_202E_206C_202D_206C_200D_202E(_202B_200B_202E_206C_200E_202B_202C_200E_200E_202E_200D_202C_206D_200B_206C_202D_200C_206C_206A_206D_200C_202B_206F_206F_202D_200C_206D_206E_202B_200F_200C_206E_202C_202D_200D_206E_200C_206D_206A_200E_202E() + extraPadding); num = -1166254318; break; case 1: UiThemeUtils.StatusBadge(text, color, icon); return _202B_200D_206D_202D_202E_206F_200C_202D_206E_206A_202A_200B_202A_202E_206C_200F_206B_202D_202A_206D_206D_206C_200E_206D_202A_200C_202B_200D_202C_206A_200E_202D_202D_202A_202C_206A_202B_206C_202D_200F_202E(); case 0: num = ((!(extraPadding > 0f)) ? (-1166254318) : (-1166254316)); break; case 4: { IDisposable disposable = _200C_206E_202B_202B_200B_206D_200B_200F_200C_200B_206D_206D_202C_206E_202C_200C_206C_200E_200E_202A_206A_206D_206A_206B_202C_202A_200E_206B_202E_202E_200F_200F_200F_202A_206D_206B_202D_202E_206E_200C_202E(_206B_202B_206A_200F_202B_200F_200C_200B_206A_202B_200B_206F_200C_200F_202C_206E_200C_206F_202C_200D_202D_206A_200D_202D_200E_202D_206F_202B_200F_200F_202E_200C_200B_206A_206A_200E_206C_200E_206D_206F_202E(_202A_206C_206E_202C_206F_206F_206D_206A_206B_200F_206D_206A_206B_200C_202A_206A_200E_206F_200D_206B_206E_200B_206F_206F_200C_202A_206E_202C_200E_206A_206D_206E_206D_202B_202C_206C_202C_202C_206C_206B_202E(_pluginInterface))); try { _206B_206A_206D_200F_202C_202C_200D_206B_206E_202B_202B_206B_200B_206C_202B_202A_200D_206B_206C_202B_206C_200B_200B_202D_206F_200E_206D_202D_206B_202B_202D_202B_202E_202E_206D_206D_206E_206C_206C_202E(ref color, (ImU8String)_200F_200E_202A_206B_206A_206B_200B_200F_206B_206E_200B_206A_206D_206B_202B_206A_206B_206B_206F_206A_202C_202B_200C_206A_200F_206C_206B_202C_202A_202A_202B_206F_200F_202D_200F_200E_206C_206E_202A_200D_202E(icon)); } finally { num = ((disposable == null) ? 669978987 : 669978984); while (true) { int num5 = num; num3 = 669978985; num4 = num5; switch ((num4 | num3) - (num4 & num3)) { case 0: num = 669978984; break; case 1: _206F_200C_200B_202D_202B_200D_200C_206A_202C_200B_202C_206C_202A_200F_200E_206D_206D_206D_202E_200F_202C_206A_206B_202E_202D_206C_202C_206C_202D_200C_202E_200E_202D_206C_206B_202C_206E_206C_206D_206D_202E(disposable); num = 669978987; break; case 2: goto end_IL_00e6; } continue; end_IL_00e6: break; } } bool num6 = _202B_200D_206D_202D_202E_206F_200C_202D_206E_206A_202A_200B_202A_202E_206C_200F_206B_202D_202A_206D_206D_206C_200E_206D_202A_200C_202B_200D_202C_206A_200E_202D_202D_202A_202C_206A_202B_206C_202D_200F_202E(); _202E_200E_206F_200C_206F_200B_206C_200F_206F_206C_206C_200F_206B_200C_200C_206B_206B_206E_206E_206F_200E_206C_200C_206A_206E_206B_202E_202B_206F_200F_200F_200C_202D_206E_206F_200B_200D_206F_200C_202E_202E(); if (extraPadding > 0f) { _206F_200D_200F_200B_200F_200C_206C_206A_202E_206F_206D_200E_202B_202B_202B_200C_206A_206A_200C_200C_200C_200D_202D_200B_206F_202E_206F_202D_206F_200C_206A_202A_202D_200B_202D_202E_206C_202D_206C_200D_202E(_202B_200B_202E_206C_200E_202B_202C_200E_200E_202E_200D_202C_206D_200B_206C_202D_200C_206C_206A_206D_200C_202B_206F_206F_202D_200C_206D_206E_202B_200F_200C_206E_202C_202D_200D_206E_200C_206D_206A_200E_202E() + extraPadding); } _206A_200F_206F_202B_202A_206E_200D_202E_202B_200E_200B_206F_206C_200D_206E_206F_200C_206F_200B_202E_206F_202E_206A_206C_200E_200D_202D_200E_202A_206A_200C_202D_200E_202C_206B_200E_206A_206D_200D_200E_202E((ImU8String)text); return num6 | _202B_200D_206D_202D_202E_206F_200C_202D_206E_206A_202A_200B_202A_202E_206C_200F_206B_202D_202A_206D_206D_206C_200E_206D_202A_200C_202B_200D_202C_206A_200E_202D_202D_202A_202C_206A_202B_206C_202D_200F_202E(); } } } } public bool ChecklistItem(string text, bool complete, Vector4? colorOverride = null) { return ChecklistItem(text, colorOverride ?? (complete ? _200C_206E_202D_202E_200B_202D_200F_206B_206C_202A_200F_202A_202E_206B_206E_200D_200F_202B_202B_202A_206F_200C_206D_202E_200E_202C_206D_206F_202B_200C_202B_206D_200C_200D_202C_200E_206E_200B_206D_206A_202E() : _202A_200B_200B_202A_206A_206F_200D_200E_202D_202E_206A_200F_200E_206E_202B_206D_202C_206B_206F_200E_206D_206F_202A_202C_206D_206F_206E_200F_200E_206F_200C_202C_206B_202D_206E_202E_202E_202D_202B_202E_202E()), complete ? FontAwesomeIcon.Check : FontAwesomeIcon.Times); } static bool _202B_200D_206D_202D_202E_206F_200C_202D_206E_206A_202A_200B_202A_202E_206C_200F_206B_202D_202A_206D_206D_206C_200E_206D_202A_200C_202B_200D_202C_206A_200E_202D_202D_202A_202C_206A_202B_206C_202D_200F_202E() { return ImGui.IsItemHovered(); } static float _202B_200B_202E_206C_200E_202B_202C_200E_200E_202E_200D_202C_206D_200B_206C_202D_200C_206C_206A_206D_200C_202B_206F_206F_202D_200C_206D_206E_202B_200F_200C_206E_202C_202D_200D_206E_200C_206D_206A_200E_202E() { return ImGui.GetCursorPosX(); } static void _206F_200D_200F_200B_200F_200C_206C_206A_202E_206F_206D_200E_202B_202B_202B_200C_206A_206A_200C_200C_200C_200D_202D_200B_206F_202E_206F_202D_206F_200C_206A_202A_202D_200B_202D_202E_206C_202D_206C_200D_202E(float P_0) { ImGui.SetCursorPosX(P_0); } static IUiBuilder _202A_206C_206E_202C_206F_206F_206D_206A_206B_200F_206D_206A_206B_200C_202A_206A_200E_206F_200D_206B_206E_200B_206F_206F_200C_202A_206E_202C_200E_206A_206D_206E_206D_202B_202C_206C_202C_202C_206C_206B_202E(IDalamudPluginInterface P_0) { return P_0.UiBuilder; } static IFontHandle _206B_202B_206A_200F_202B_200F_200C_200B_206A_202B_200B_206F_200C_200F_202C_206E_200C_206F_202C_200D_202D_206A_200D_202D_200E_202D_206F_202B_200F_200F_202E_200C_200B_206A_206A_200E_206C_200E_206D_206F_202E(IUiBuilder P_0) { return P_0.IconFontFixedWidthHandle; } static IDisposable _200C_206E_202B_202B_200B_206D_200B_200F_200C_200B_206D_206D_202C_206E_202C_200C_206C_200E_200E_202A_206A_206D_206A_206B_202C_202A_200E_206B_202E_202E_200F_200F_200F_202A_206D_206B_202D_202E_206E_200C_202E(IFontHandle P_0) { return P_0.Push(); } static string _200F_200E_202A_206B_206A_206B_200B_200F_206B_206E_200B_206A_206D_206B_202B_206A_206B_206B_206F_206A_202C_202B_200C_206A_200F_206C_206B_202C_202A_202A_202B_206F_200F_202D_200F_200E_206C_206E_202A_200D_202E(FontAwesomeIcon P_0) { return P_0.ToIconString(); } static void _206B_206A_206D_200F_202C_202C_200D_206B_206E_202B_202B_206B_200B_206C_202B_202A_200D_206B_206C_202B_206C_200B_200B_202D_206F_200E_206D_202D_206B_202B_202D_202B_202E_202E_206D_206D_206E_206C_206C_202E(ref Vector4 P_0, ImU8String P_1) { ImGui.TextColored(in P_0, P_1); } static void _206F_200C_200B_202D_202B_200D_200C_206A_202C_200B_202C_206C_202A_200F_200E_206D_206D_206D_202E_200F_202C_206A_206B_202E_202D_206C_202C_206C_202D_200C_202E_200E_202D_206C_206B_202C_206E_206C_206D_206D_202E(IDisposable P_0) { P_0.Dispose(); } static void _202E_200E_206F_200C_206F_200B_206C_200F_206F_206C_206C_200F_206B_200C_200C_206B_206B_206E_206E_206F_200E_206C_200C_206A_206E_206B_202E_202B_206F_200F_200F_200C_202D_206E_206F_200B_200D_206F_200C_202E_202E() { ImGui.SameLine(); } static void _206A_200F_206F_202B_202A_206E_200D_202E_202B_200E_200B_206F_206C_200D_206E_206F_200C_206F_200B_202E_206F_202E_206A_206C_200E_200D_202D_200E_202A_206A_200C_202D_200E_202C_206B_200E_206A_206D_200D_200E_202E(ImU8String P_0) { ImGui.TextUnformatted(P_0); } static Vector4 _202A_200B_200B_202A_206A_206F_200D_200E_202D_202E_206A_200F_200E_206E_202B_206D_202C_206B_206F_200E_206D_206F_202A_202C_206D_206F_206E_200F_200E_206F_200C_202C_206B_202D_206E_202E_202E_202D_202B_202E_202E() { return ImGuiColors.DalamudRed; } static Vector4 _200C_206E_202D_202E_200B_202D_200F_206B_206C_202A_200F_202A_202E_206B_206E_200D_200F_202B_202B_202A_206F_200C_206D_202E_200E_202C_206D_206F_202B_200C_202B_206D_200C_200D_202C_200E_206E_200B_206D_206A_202E() { return ImGuiColors.ParsedGreen; } }