//using Il2Cpp; //using System; //using System.Collections.Generic; //using System.Linq; //using System.Text; //using System.Text.Encodings.Web; //using System.Text.Json; //using System.Threading.Tasks; //using HarmonyLib; //namespace PvZ_Fusion_Translator.Patches.Modes.Odyssey //{ // [HarmonyPatch(typeof(TravelMgr))] // public static class TravelMgr_Patch // { // public static Dictionary buffLinks = new Dictionary() // { // { BuffType.AdvancedBuff, "advancedUpgrades" }, // { BuffType.UltimateBuff, "ultimateUpgrades" }, // { BuffType.UnlockPlant, "strongUltimates" }, // { BuffType.Debuff, "debuffs" }, // }; // public static Dictionary> dumpedTravelBuffs = new Dictionary>() // { // { "advancedUpgrades", [] }, // { "ultimateUpgrades", [] }, // { "strongUltimates", [] }, // { "debuffs", [] } // }; // public static Dictionary> translatedTravelBuffs = new Dictionary>(); // public static void DumpTravelBuffs(Il2CppSystem.Collections.Generic.Dictionary source, Dictionary> dest, string index) // { // foreach (var i in source) // { // if (!Utils.CheckForUntranslatedText(i.Value)) // { // break; // } // dest[index].Add(i.Value); // } // } // public static string MatchTravelBuff(string originalText) // { // string res = ""; // foreach(var i in dumpedTravelBuffs) // { // if(i.Value.Contains(originalText)) // { // res = translatedTravelBuffs[i.Key][i.Value.IndexOf(originalText)]; // break; // } // } // return res; // } // [HarmonyPatch(nameof(TravelMgr.Awake))] // [HarmonyPrefix] // private static void Pre_Awake(TravelMgr __instance) // { // // Dump buffs // dumpedTravelBuffs = new Dictionary>() // reset dump // { // { "advancedUpgrades", [] }, // { "ultimateUpgrades", [] }, // { "strongUltimates", [] }, // { "debuffs", [] } // }; // DumpTravelBuffs(TravelMgr.advancedBuffs, dumpedTravelBuffs, "advancedUpgrades"); // DumpTravelBuffs(TravelMgr.ultimateBuffs, dumpedTravelBuffs, "ultimateUpgrades"); // DumpTravelBuffs(TravelMgr.unlocks, dumpedTravelBuffs, "strongUltimates"); // DumpTravelBuffs(TravelMgr.debuffs, dumpedTravelBuffs, "debuffs"); // string dumpDir = FileLoader.GetAssetDir(FileLoader.AssetType.Dumps); // var options = new JsonSerializerOptions // { // Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, // WriteIndented = true // }; // File.WriteAllText(Path.Combine(dumpDir, "travel_buffs.json"), JsonSerializer.Serialize(dumpedTravelBuffs, options)); // string stringDir = FileLoader.GetAssetDir(FileLoader.AssetType.Strings, Utils.Language); // string travelBuffDir = Path.Combine(stringDir, "travel_buffs.json"); // if(!File.Exists(travelBuffDir)) // { // File.WriteAllText(travelBuffDir, JsonSerializer.Serialize(dumpedTravelBuffs, options)); // } // string travelBuffs = File.ReadAllText(Path.Combine(stringDir, "travel_buffs.json")); // translatedTravelBuffs = JsonSerializer.Deserialize>>(travelBuffs); // } // } //}