qstbak/LLib/LLib/DataManagerExtensions.cs
2026-08-17 20:27:25 +10:00

407 lines
17 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text.RegularExpressions;
using Dalamud.Plugin.Services;
using Lumina.Excel;
using Lumina.Text.Payloads;
using Lumina.Text.ReadOnly;
namespace LLib;
public static class DataManagerExtensions
{
[Serializable]
[CompilerGenerated]
private sealed class _003C_003Ec
{
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
public static Func<ReadOnlySePayload, string> _003C_003E9__7_0;
public static Func<ReadOnlySePayload, string> _003C_003E9__8_0;
[MethodImpl(MethodImplOptions.NoInlining)]
internal string _003CToRegex_003Eb__7_0(ReadOnlySePayload payload)
{
int num = ((payload.Type != ReadOnlySePayloadType.Text) ? 653215038 : 653215037);
while (true)
{
int num2 = num;
int num3 = 653215036;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0049;
case 2:
return global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E<string>(-1401261324);
case 1:
return _206E_200E_202D_206D_206F_200E_202C_206B_206E_202E_200D_200E_200F_200F_202D_206F_200B_202B_200B_200E_202E_206C_200C_202E_206A_200C_202E_200D_200D_206C_206C_206D_202A_202D_200B_206C_200C_200E_202C_202E(payload.ToString());
}
continue;
IL_0049:
num = 653215037;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
internal string _003CWithCertainMacroCodeReplacements_003Eb__8_0(ReadOnlySePayload payload)
{
ReadOnlySePayloadType type = payload.Type;
int num = ((type == ReadOnlySePayloadType.Text) ? 665720307 : 665720306);
MacroCode macroCode = default(MacroCode);
string result = default(string);
string text = default(string);
while (true)
{
int num2 = num;
int num3 = 665720319;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 15:
macroCode = payload.MacroCode;
num = ((macroCode > MacroCode.SoftHyphen) ? 665720311 : 665720310);
break;
case 5:
return result;
case 10:
text = global::_003CModule_003E._206E_202B_206C_202A_202A_200E_202B_202B_206D_200B_200C_206B_200B_206D_202E_202D_206C_202B_200B_206A_202D_206C_202A_200F_202D_200C_200B_200B_200B_200D_202C_206E_206D_202E_200C_206B_206A_206D_202D_202C_202E<string>(-1220250632);
num = 665720312;
break;
case 18:
num = 665720306;
break;
case 17:
num = ((macroCode == MacroCode.Hyphen) ? 665720309 : 665720318);
break;
case 4:
text = payload.ToString();
num = 665720312;
break;
case 14:
text = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E<string>(-581253858);
num = 665720312;
break;
case 0:
num = ((macroCode == MacroCode.SoftHyphen) ? 665720313 : 665720303);
break;
case 13:
num = ((type == ReadOnlySePayloadType.Macro) ? 665720304 : 665720308);
break;
case 12:
result = payload.ToString();
num = 665720314;
break;
case 16:
num = 665720315;
break;
case 1:
num = 665720315;
break;
case 7:
result = text;
num = 665720314;
break;
case 6:
text = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E<string>(336218591);
num = 665720312;
break;
case 8:
num = ((macroCode == MacroCode.NonBreakingSpace) ? 665720305 : 665720302);
break;
case 2:
text = _202A_200D_200D_202A_200B_200E_202E_202C_200D_202D_202B_200F_202C_206A_202D_202A_206B_206C_200D_206B_206A_206B_206E_202B_202B_206C_206F_202A_206B_202B_202C_206F_200F_202B_202B_200C_202E_200B_202D_202C_202E();
num = 665720312;
break;
case 11:
num = 665720316;
break;
case 9:
num = ((macroCode == MacroCode.NewLine) ? 665720317 : 665720319);
break;
case 3:
result = payload.ToString();
num = 665720314;
break;
}
}
}
static string _206E_200E_202D_206D_206F_200E_202C_206B_206E_202E_200D_200E_200F_200F_202D_206F_200B_202B_200B_200E_202E_206C_200C_202E_206A_200C_202E_200D_200D_206C_206C_206D_202A_202D_200B_206C_200C_200E_202C_202E(string P_0)
{
return Regex.Escape(P_0);
}
static string _202A_200D_200D_202A_200B_200E_202E_202C_200D_202D_202B_200F_202C_206A_202D_202A_206B_206C_200D_206B_206A_206B_206E_202B_202B_206C_206F_202A_206B_202B_202C_206F_200F_202B_202B_200C_202E_200B_202D_202C_202E()
{
return Environment.NewLine;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static ReadOnlySeString? GetSeString<T>(this IDataManager dataManager, string key) where T : struct, IQuestDialogueText, IExcelRow<T>
{
_202A_202A_206D_206A_206B_202B_206E_206F_206F_206A_202B_202E_206A_202E_202A_206A_206A_202C_200D_206C_206E_202B_202B_206E_200E_200F_200F_202D_206E_202B_202C_200B_206E_206D_202D_200E_202E_206A_200B_202C_202E((object)dataManager, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E<string>(1058761074));
return dataManager.GetExcelSheet<T>().Cast<T?>().FirstOrDefault((T? x) => x.Value.Key == key)?.Value;
}
public static string? GetString<T>(this IDataManager dataManager, string key, IPluginLog? pluginLog) where T : struct, IQuestDialogueText, IExcelRow<T>
{
return dataManager.GetSeString<T>(key)?.WithCertainMacroCodeReplacements();
}
public static Regex? GetRegex<T>(this IDataManager dataManager, string key, IPluginLog? pluginLog) where T : struct, IQuestDialogueText, IExcelRow<T>
{
ReadOnlySeString? seString = dataManager.GetSeString<T>(key);
int num = (seString.HasValue ? 532905786 : 532905785);
while (true)
{
int num2 = num;
int num3 = 532905787;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0051;
case 1:
return seString.ToRegex();
case 2:
return null;
}
continue;
IL_0051:
num = 532905785;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static ReadOnlySeString? GetSeString<T>(this IDataManager dataManager, uint rowId, Func<T, ReadOnlySeString?> mapper) where T : struct, IExcelRow<T>
{
_202A_202A_206D_206A_206B_202B_206E_206F_206F_206A_202B_202E_206A_202E_202A_206A_206A_202C_200D_206C_206E_202B_202B_206E_200E_200F_200F_202D_206E_202B_202C_200B_206E_206D_202D_200E_202E_206A_200B_202C_202E((object)dataManager, global::_003CModule_003E._206E_202B_206C_202A_202A_200E_202B_202B_206D_200B_200C_206B_200B_206D_202E_202D_206C_202B_200B_206A_202D_206C_202A_200F_202D_200C_200B_200B_200B_200D_202C_206E_206D_202E_200C_206B_206A_206D_202D_202C_202E<string>(-1509101314));
_202A_202A_206D_206A_206B_202B_206E_206F_206F_206A_202B_202E_206A_202E_202A_206A_206A_202C_200D_206C_206E_202B_202B_206E_200E_200F_200F_202D_206E_202B_202C_200B_206E_206D_202D_200E_202E_206A_200B_202C_202E((object)mapper, global::_003CModule_003E._200E_206F_206C_206C_200E_202A_206D_206B_200B_202D_202B_200F_200F_206B_206C_206F_202D_206F_206A_202D_206A_200B_200B_202B_202D_202C_200F_200D_202E_200E_200D_202A_202B_206F_202E_200E_200B_206B_200E_202E_202E<string>(1413795073));
T? rowOrDefault = dataManager.GetExcelSheet<T>().GetRowOrDefault(rowId);
int num = (rowOrDefault.HasValue ? 766901278 : 766901279);
while (true)
{
int num2 = num;
int num3 = 766901278;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
goto IL_0086;
case 1:
return null;
case 0:
return mapper(rowOrDefault.Value);
}
continue;
IL_0086:
num = 766901279;
}
}
public static string? GetString<T>(this IDataManager dataManager, uint rowId, Func<T, ReadOnlySeString?> mapper, IPluginLog? pluginLog = null) where T : struct, IExcelRow<T>
{
return dataManager.GetSeString(rowId, mapper)?.WithCertainMacroCodeReplacements();
}
public static Regex? GetRegex<T>(this IDataManager dataManager, uint rowId, Func<T, ReadOnlySeString?> mapper, IPluginLog? pluginLog = null) where T : struct, IExcelRow<T>
{
ReadOnlySeString? seString = dataManager.GetSeString(rowId, mapper);
int num = (seString.HasValue ? (-1910871313) : (-1910871316));
while (true)
{
int num2 = num;
int num3 = -1910871314;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
return seString.ToRegex();
case 2:
return null;
case 0:
goto IL_005b;
}
continue;
IL_005b:
num = -1910871316;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static Regex? GetRegex<T>(this T excelRow, Func<T, ReadOnlySeString?> mapper, IPluginLog? pluginLog) where T : struct, IExcelRow<T>
{
_202A_202A_206D_206A_206B_202B_206E_206F_206F_206A_202B_202E_206A_202E_202A_206A_206A_202C_200D_206C_206E_202B_202B_206E_200E_200F_200F_202D_206E_202B_202C_200B_206E_206D_202D_200E_202E_206A_200B_202C_202E((object)mapper, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E<string>(211367094));
ReadOnlySeString? text = mapper(excelRow);
int num = (text.HasValue ? 995158761 : 995158762);
while (true)
{
int num2 = num;
int num3 = 995158760;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
return text.ToRegex();
case 2:
return null;
case 0:
goto IL_006a;
}
continue;
IL_006a:
num = 995158762;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static Regex ToRegex(this ReadOnlySeString? text)
{
_202A_202A_206D_206A_206B_202B_206E_206F_206F_206A_202B_202E_206A_202E_202A_206A_206A_202C_200D_206C_206E_202B_202B_206E_200E_200F_200F_202D_206E_202B_202C_200B_206E_206D_202D_200E_202E_206A_200B_202C_202E((object)text, global::_003CModule_003E._206E_202B_206C_202A_202A_200E_202B_202B_206D_200B_200C_206B_200B_206D_202E_202D_206C_202B_200B_206A_202D_206C_202A_200F_202D_200C_200B_200B_200B_200D_202C_206E_206D_202E_200C_206B_206A_206D_202D_202C_202E<string>(782807675));
return _206B_202D_202E_202A_206F_206D_202D_200D_202C_200E_200D_200D_206D_200B_202C_206F_202E_202A_206B_202A_202A_202C_202D_200E_200D_202D_200B_206A_206F_206F_206F_206E_202B_206F_200D_200F_200C_202A_200F_202E_202E(_200D_206D_200E_206E_202B_200C_202A_200D_206A_202D_206C_206C_200E_206E_202D_202D_200F_206D_202A_202D_200D_200F_200F_202E_200D_206F_202B_206F_202D_206D_206C_200B_206A_202B_206F_202A_206C_200C_206C_200C_202E(global::_003CModule_003E._206E_202B_206C_202A_202A_200E_202B_202B_206D_200B_200C_206B_200B_206D_202E_202D_206C_202B_200B_206A_202D_206C_202A_200F_202D_200C_200B_200B_200B_200D_202C_206E_206D_202E_200C_206B_206A_206D_202D_202C_202E<string>(-1158161199), text.Value.Select([MethodImpl(MethodImplOptions.NoInlining)] (ReadOnlySePayload payload) =>
{
int num = ((payload.Type != ReadOnlySePayloadType.Text) ? 653215038 : 653215037);
while (true)
{
int num2 = num;
int num3 = 653215036;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0049;
case 2:
return global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E<string>(-1401261324);
case 1:
return _003C_003Ec._206E_200E_202D_206D_206F_200E_202C_206B_206E_202E_200D_200E_200F_200F_202D_206F_200B_202B_200B_200E_202E_206C_200C_202E_206A_200C_202E_200D_200D_206C_206C_206D_202A_202D_200B_206C_200C_200E_202C_202E(payload.ToString());
}
continue;
IL_0049:
num = 653215037;
}
})), RegexOptions.Compiled);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static string WithCertainMacroCodeReplacements(this ReadOnlySeString text)
{
return _200D_206D_200E_206E_202B_200C_202A_200D_206A_202D_206C_206C_200E_206E_202D_202D_200F_206D_202A_202D_200D_200F_200F_202E_200D_206F_202B_206F_202D_206D_206C_200B_206A_202B_206F_202A_206C_200C_206C_200C_202E(global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E<string>(336218591), text.Select([MethodImpl(MethodImplOptions.NoInlining)] (ReadOnlySePayload payload) =>
{
ReadOnlySePayloadType type = payload.Type;
int num = ((type == ReadOnlySePayloadType.Text) ? 665720307 : 665720306);
MacroCode macroCode = default(MacroCode);
string result = default(string);
string text2 = default(string);
while (true)
{
int num2 = num;
int num3 = 665720319;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 15:
macroCode = payload.MacroCode;
num = ((macroCode > MacroCode.SoftHyphen) ? 665720311 : 665720310);
break;
case 5:
return result;
case 10:
text2 = global::_003CModule_003E._206E_202B_206C_202A_202A_200E_202B_202B_206D_200B_200C_206B_200B_206D_202E_202D_206C_202B_200B_206A_202D_206C_202A_200F_202D_200C_200B_200B_200B_200D_202C_206E_206D_202E_200C_206B_206A_206D_202D_202C_202E<string>(-1220250632);
num = 665720312;
break;
case 18:
num = 665720306;
break;
case 17:
num = ((macroCode == MacroCode.Hyphen) ? 665720309 : 665720318);
break;
case 4:
text2 = payload.ToString();
num = 665720312;
break;
case 14:
text2 = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E<string>(-581253858);
num = 665720312;
break;
case 0:
num = ((macroCode == MacroCode.SoftHyphen) ? 665720313 : 665720303);
break;
case 13:
num = ((type == ReadOnlySePayloadType.Macro) ? 665720304 : 665720308);
break;
case 12:
result = payload.ToString();
num = 665720314;
break;
case 16:
num = 665720315;
break;
case 1:
num = 665720315;
break;
case 7:
result = text2;
num = 665720314;
break;
case 6:
text2 = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E<string>(336218591);
num = 665720312;
break;
case 8:
num = ((macroCode == MacroCode.NonBreakingSpace) ? 665720305 : 665720302);
break;
case 2:
text2 = _003C_003Ec._202A_200D_200D_202A_200B_200E_202E_202C_200D_202D_202B_200F_202C_206A_202D_202A_206B_206C_200D_206B_206A_206B_206E_202B_202B_206C_206F_202A_206B_202B_202C_206F_200F_202B_202B_200C_202E_200B_202D_202C_202E();
num = 665720312;
break;
case 11:
num = 665720316;
break;
case 9:
num = ((macroCode == MacroCode.NewLine) ? 665720317 : 665720319);
break;
case 3:
result = payload.ToString();
num = 665720314;
break;
}
}
}));
}
static void _202A_202A_206D_206A_206B_202B_206E_206F_206F_206A_202B_202E_206A_202E_202A_206A_206A_202C_200D_206C_206E_202B_202B_206E_200E_200F_200F_202D_206E_202B_202C_200B_206E_206D_202D_200E_202E_206A_200B_202C_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
static string _200D_206D_200E_206E_202B_200C_202A_200D_206A_202D_206C_206C_200E_206E_202D_202D_200F_206D_202A_202D_200D_200F_200F_202E_200D_206F_202B_206F_202D_206D_206C_200B_206A_202B_206F_202A_206C_200C_206C_200C_202E(string P_0, IEnumerable<string> P_1)
{
return string.Join(P_0, P_1);
}
static Regex _206B_202D_202E_202A_206F_206D_202D_200D_202C_200E_200D_200D_206D_200B_202C_206F_202E_202A_206B_202A_202A_202C_202D_200E_200D_202D_200B_206A_206F_206F_206F_206E_202B_206F_200D_200F_200C_202A_200F_202E_202E(string P_0, RegexOptions P_1)
{
return new Regex(P_0, P_1);
}
}