using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using HarmonyLib; namespace undead_universal_patch_il2cpp.Patches { [HarmonyPatch] public class SignalRHandshakeFix { public static string TargetTypeName = "JsonProtocol"; public static string TargetMethodName = "WithSeparator"; public static string Description = "SignalR Handshake Fix (quotes vs apostrophes)"; public static Type targetType = AccessTools.TypeByName(TargetTypeName); public static MethodBase targetMethod = AccessTools.Method(targetType, TargetMethodName); public static bool Prepare() { if (!GenericConfig.SignalRHandshakeFix.Value) return false; if (targetType == null) { Plugin.Log.LogWarning($"'{Description}' disabled. The type for this patch was not found."); return false; } if (targetMethod == null) { Plugin.Log.LogWarning($"'{Description}' disabled. The method for this patch was not found."); return false; } Plugin.Log.LogInfo($"'{Description}' succeeded validation."); return true; } public static MethodBase TargetMethod() => targetMethod; public static void Prefix(ref string str) { if (str.Contains("protocol':")) { str = str.Replace("'", "\""); } } } }