Merge branch 'cassidy'
This commit is contained in:
commit
bf0da272c6
74 changed files with 3643 additions and 335 deletions
164
BepInEx/AssetStore/AudioStore.cs
Normal file
164
BepInEx/AssetStore/AudioStore.cs
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using HarmonyLib;
|
||||
using UnityEngine;
|
||||
using AudioImportLib.BepInEx;
|
||||
using BepInEx.Logging;
|
||||
using System.Runtime;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Reflection;
|
||||
using System.IO;
|
||||
using BepInEx;
|
||||
using BepInEx.Configuration;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_
|
||||
{
|
||||
internal class AudioStore
|
||||
{
|
||||
public static Dictionary<string, AudioClip> AudioClips = [];
|
||||
public static Dictionary<string, (string, string)> AudioClipNames = [];
|
||||
public static ManualLogSource Log = Core.Log;
|
||||
|
||||
public static ConfigEntry<bool> LogSounds;
|
||||
public static ConfigEntry<string> category;
|
||||
|
||||
private static bool overrideEnabled;
|
||||
public static string customAudioPath = Path.Combine(Paths.PluginPath, "PvZ_Fusion_Translator", "[Custom Audios]");
|
||||
private static readonly string[] allowedExts = [".wav", ".mp3", ".ogg"];
|
||||
|
||||
#if AUDIO_TESTING
|
||||
public Canvas Canvas { get; set; }
|
||||
public RectTransform songRectTransform { get; private set; }
|
||||
#endif
|
||||
|
||||
public static void Init()
|
||||
{
|
||||
LoadAudios();
|
||||
}
|
||||
public static void LoadAudios()
|
||||
{
|
||||
if (!Directory.Exists(customAudioPath))
|
||||
Directory.CreateDirectory(customAudioPath);
|
||||
|
||||
string[] audioFiles = Directory.GetFiles(customAudioPath, "*", SearchOption.AllDirectories);
|
||||
var ovrClip = audioFiles.SingleOrDefault(f => Path.GetFileNameWithoutExtension(f) == "REPLACE_ALL");
|
||||
if (ovrClip == null)
|
||||
{
|
||||
foreach (string file in audioFiles)
|
||||
{
|
||||
if (!allowedExts.Contains(Path.GetExtension(file)))
|
||||
continue;
|
||||
|
||||
AudioClip clip = AudioImportLib.BepInEx.API.LoadAudioClip(file);
|
||||
AudioClips.Add(clip.name, clip);
|
||||
Log.LogInfo("Added Override: " + clip.name);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AudioClip clip = AudioImportLib.BepInEx.API.LoadAudioClip(ovrClip);
|
||||
AudioClips.Add(clip.name, clip);
|
||||
overrideEnabled = true;
|
||||
Log.LogInfo("Added Override: " + clip.name);
|
||||
}
|
||||
}
|
||||
|
||||
#if AUDIO_TESTING
|
||||
public static void InitializeCanvas()
|
||||
{
|
||||
|
||||
Transform canvasTransform;
|
||||
|
||||
if (canvas != null) return; // Prevent duplicate canvas creation
|
||||
|
||||
canvas = new GameObject("AudioSourceCanvas").AddComponent<Canvas>();
|
||||
canvas.renderMode = RenderMode.ScreenSpaceOverlay;
|
||||
|
||||
CanvasScaler scaler = canvas.gameObject.AddComponent<CanvasScaler>();
|
||||
scaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
|
||||
scaler.referenceResolution = new Vector2(1920, 1080);
|
||||
|
||||
canvas.gameObject.AddComponent<GraphicRaycaster>();
|
||||
|
||||
// Add a RectTransform for positioning text
|
||||
GameObject songTextObject = new GameObject("SongText");
|
||||
songTextObject.transform.SetParent(canvas.transform);
|
||||
|
||||
songRectTransform = songTextObject.AddComponent<RectTransform>();
|
||||
songRectTransform.anchorMin = new Vector2(1, 1); // Top-right corner
|
||||
songRectTransform.anchorMax = new Vector2(1, 1);
|
||||
songRectTransform.pivot = new Vector2(1, 1);
|
||||
songRectTransform.anchoredPosition = new Vector2(-20, -20); // Adjust margin
|
||||
|
||||
// Add a TextMeshPro component for the text
|
||||
var textComponent = songTextObject.AddComponent<TextMeshProUGUI>();
|
||||
textComponent.alignment = TextAlignmentOptions.Right;
|
||||
textComponent.fontSize = 24;
|
||||
textComponent.color = Color.white;
|
||||
textComponent.text = "Current Song: None"; // Placeholder
|
||||
}
|
||||
|
||||
|
||||
public static void AudioSources()
|
||||
{
|
||||
if (!Directory.Exists(customAudioPath))
|
||||
Directory.CreateDirectory(customAudioPath);
|
||||
string path = Path.Combine(customAudioPath, "audio_source.json");
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
Log.LogError($"LawnStringsTranslate.json file not found at path: {path}");
|
||||
return;
|
||||
}
|
||||
string json;
|
||||
json = File.ReadAllText(path);
|
||||
|
||||
AudioClipNames = JsonSerializer.Deserialize<Dictionary<string, (string, string)>>(json);
|
||||
}
|
||||
|
||||
public static (string, string) GetAudioSource(string clipName)
|
||||
{
|
||||
if (AudioClipNames.TryGetValue(clipName, out var audioSource))
|
||||
{
|
||||
return audioSource;
|
||||
}
|
||||
else
|
||||
{
|
||||
return ("Music", "Source Unknown");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void UpdateAudioSourceText(string clipName, string sourceName)
|
||||
{
|
||||
if (songRectTransform == null) InitializeCanvas();
|
||||
|
||||
var textComponent = songRectTransform.GetComponent<TextMeshProUGUI>();
|
||||
if (textComponent != null)
|
||||
{
|
||||
textComponent.text = $"Current Song: {clipName}\nSource: {sourceName}";
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
[HarmonyPatch(typeof(UnityEngine.AudioSource), "Play", [])]
|
||||
public class AudioSource_Patch
|
||||
{
|
||||
public static void Prefix(UnityEngine.AudioSource __instance)
|
||||
{
|
||||
if (__instance.clip == null)
|
||||
return;
|
||||
|
||||
string audioClipName = __instance.clip.name;
|
||||
|
||||
if (AudioStore.AudioClips.TryGetValue(audioClipName, out AudioClip replaceClip))
|
||||
{
|
||||
__instance.pitch = 1;
|
||||
__instance.clip = replaceClip;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,19 +1,767 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
#if OBFUSCATE
|
||||
using System.Security.Cryptography;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Text.Json;
|
||||
using System.IO;
|
||||
using static Newtonsoft.Json.JsonConvert;
|
||||
using static PvZ_Fusion_Translator__BepInEx_.FileLoader;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
||||
{
|
||||
public static class CheckSumStore
|
||||
internal class CheckSumStore
|
||||
{
|
||||
private static Dictionary<string, string> modifiedCheckSums = new Dictionary<string, string>();
|
||||
|
||||
private static Dictionary<string, string> checkSums = new Dictionary<string, string>()
|
||||
{
|
||||
#if !RELEASE || RELEASE
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_CloseButton" , "G/++rbb7GMZv51CxHKdVINtAji/x9zyyhlcbCCWyP2s=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_CloseButtonHighlight" , "nNygYVELdiLcY0xbk0I1uX92NRazxns+I1u7p0M/e4w=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_GroundDay" , "pExENxFbAGfBzLByFps1SX9AN1H6cL0QQK0jOFn3qu8=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_GroundNight" , "n3LXi5yONzLVTc0eNStQtLdlcEsihCi5iImxbB7rMdY=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_GroundNightPool" , "fe6efxJzsAn3i75Wg7WrCyAFVQhMKXnzh+uThkCJXV4=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_GroundPool" , "yKlIHtnBPI8tiUnlRCHYcCnqwarpiuzfOj4H3yGn40o=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_GroundRoof" , "cYTj11LkhWuJxO8j4h+s6+AG4JtgfZ2jfL4P/rWzGfc=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_Imitater" , "9BD3A5dWXxgklYK4TTQ/G7d8A8OtZHgZrnq3hIrSlDY=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_IndexBack" , "KqSOHoWk3g/Vd1vtwL1X5X33ft8TkxHnupydPB/f8lI=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_IndexButton" , "GWE8iGEa9rVJW3TGG0j2la9VwlxrJ/LfnLu0OMKxMZg=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_IndexButtonHighlight" , "kbz2ezXWjIGUC7Q0k3cagXMuRLpnU7l4xGiX7WdSMJE=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_PlantCard" , "lLnAYniK6sDgRW62t1Q/GGh9zIWkBOia+oFzntBBjx8=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_ZombieBack" , "r3fcC00ZRR8vQUTsPRj339mQZi4/pFcL4rewSbRtM7E=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_ZombieCard" , "Fp2qKy2IpiEkA1hZrgXgrxyOA6hteIEQ8sqPrOkaaI4=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_ZombieWindow" , "mRlpQuXwIiUhKwkZXcK8sDZ6aQKnl43Y5Pbw5NMsKmk=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Almanac_ZombieWindow2" , "GPvh5nRvUqJMjRHwhqC4SUUB3BUKfCgTk6AWO8eGq/M=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\CursorClick" , "r7q8kCmXo9FHCC00VPswxjsGba2OMpE4UzBByode7KI=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\CursorDefault" , "xUv6VFWl/tzVsUa5heAlzlOyFjdzXsX9kT7EobZTIFQ=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\garden_new" , "jkDprxF6ApST91S4TzAGyzj2MC9umC8XCaasbstkBt8=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\MainMenu" , "e2lbkFcEN6hqwDk3A0SHZJu7PwEcol1u/QZtvpq71gc=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\MainMenutravel" , "fvORSzOzZ6sNDHL3qC/eA7tExSe/TsLIBswcuuFgFZ4=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\plant" , "ophzSlF5tmOXKn/2lHZUYiE4pMibPTqBvfQMnuBSzb8=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\Present" , "YHoZLVSxMkA8c2u2RCP1tJbFFZZxeulpuGTGp7AtpWA=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\PresentOpen" , "TL+KhicnGWIIOcEyMdTErS1SyBO5citeF37g3CxRiuo=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\PresentOpenZ" , "Ij60phw5j3rhjwMyGiVUOuvp0lelEJqtYQHEECc6l14=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\PresentZ" , "fZF3EH0YB37P7j1LBJN9jIwniyCy1Oe2Tw2BsSGc4iA=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SeedBank" , "BjG7XCi4XIPZO+NHAgksjgSUoO3JPJrL7BGFEWNaQ0A=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SeedChooser_Background" , "RB2fot78wqAGxeIIBuG8ZEnytADs/yxhdh3Jre74nMo=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SeedChooser_Button" , "/KtMBXY5AmPsmt98HVMAuoDrocKr7s/+g7/6wfMJIxY=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SeedChooser_Button2" , "JYwHTIvcmX8NS1wxlb7u1nMPG4BRA2mgm6R2IM/9NXk=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SeedChooser_Button2_Glow" , "NRov8DgO5+9rqTXQASV8izLAp302/o5ufZgVrvb7aig=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SeedChooser_Button_Disabled" , "nvfQ1CN+p9h1rUqVhOOLAlCmsdehs2qgVz6kmWERGkU=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SeedChooser_Button_Glow" , "Wg8LhHovWpNtScBLZbhcjgqQcr4C2pehb3QS2bpmO1Y=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\seedfog" , "SN9MPqY76N6ucf+vzs22J+2Bs23+1Tl56f7GrT3Z9Yc=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\seedlinkage" , "kqQiioaMU/fAv9+eTzdzV7KizreB80Qio2e9cyWtaOY=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\seedp" , "i7wDlTSmSBueQ2sCWU7usRbfGoncupi6+plQrjv9A8w=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SeedPacketSilhouette" , "AVSM7MUReK4oLDUajmkWjQqT577of/ZhaAepDOQk54o=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SeedPacket_Larger" , "C7ZuQNW+xi8YNyYtz09aAXOYP/t56u01WwgYo7FT0Tc=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SeedPacket_Night" , "YVCLQ3WeIUjevo0Wtf2xAOnDGAAzjl44bRHS1T5ProE=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SeedPacket_Other" , "kiidD0VdJ/U0xYxtM7f9uvUYsK2VHFIZU3750doVtHc=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SeedPacket_Pool" , "8MQOevWJrWgIsnWhYi2xt61yxoJARcINzSYzRG7yrnM=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\seedroof" , "zluDS1sgaJ4iHXt4PfJ3tqi+LVduGKB9+WLdWZZH0ik=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\seeds" , "JNHpZfk3qR+yWd4fhWsdNF+JxtfTOjTAKxLs61X0+co=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SelectorScreen_almanac_shadow" , "SdZZ5VOq567+489ffjHcTbgWj3KjI01YKZgdUGj9yis=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SelectorScreen_Flower3" , "kIzmQGfYT3nCObTtM+C6F7WgE8oCj4M+Qq2II0n2IXw=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SelectorScreen_Leaf1" , "OwGYCIlBbK5j1dZxBjHlPkvswRy+QHgYVXvmOYoMt6E=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SelectorScreen_Leaf2" , "0ea/nJV5ziIA2Aher2Exfgz6lDuGDjqHf6Ra/bsmMrg=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SelectorScreen_Leaf3" , "nzELmsj1XUXJmOhMLixHLBzW5TGhZCkwoAOaRpRJlYw=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SelectorScreen_Leaf4" , "pXEZUhFqr2KC1pCQLB6MwwJhBM5ZI2teGOvYPgr011U=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SelectorScreen_Leaf5" , "SeX0iGZoN8ZbhKZSkonw9I7MS3lBVHVqzko1hX80LUg=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\SelectorScreen_Leaves" , "Fny+WEQ2N1yzFhdAPhR/zoK0P2HY4GDckluVL6u6Kz0=" },
|
||||
{ "Dumps\\Default Textures [Do Not Remove]\\ShovelBank" , "Pas2yhjcl+HVwsIm68o9PRjAR72y5lTQm85e2vuYgBE=" },
|
||||
|
||||
// English
|
||||
{ "Localization\\English\\Textures\\Game\\FinalWave" , "0O9Esd6GUDRmYE9NtcuIvmRzZU6RKUeR4U6Xiy5qi6o=" },
|
||||
{ "Localization\\English\\Textures\\Game\\FlagMeterLevelProgress" , "CzuBH4sm7Nid4zloZF3i0bpNcA9ILPhrmOxVYI4IggA=" },
|
||||
{ "Localization\\English\\Textures\\Game\\HugeWave" , "n9O7b5CuD9Yu+ccecqsmm4ofp10MAw6eoZmIxnX8WwM=" },
|
||||
{ "Localization\\English\\Textures\\Game\\StartPlant" , "IIz47Bh/4MjFKaZaHx5PAxz97YukBkSqHv8nnN7tMLM=" },
|
||||
{ "Localization\\English\\Textures\\Game\\StartReady" , "lhaXbwp0oHTrX1JFyJE8hnabkzj4bgNyWdFDMn32cbo=" },
|
||||
{ "Localization\\English\\Textures\\Game\\StartSet" , "WPtmG9W8kFZQthgaycm6P17wmnqWW55CnU2JjsOGJkU=" },
|
||||
{ "Localization\\English\\Textures\\Logo\\标题合集" , "IfcPnZSGmfNl1jdd4RiGaD2o3XHs/K0R7HKKLzcFftE=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\NewAdv" , "6UYMHlQ5SdT+gX7cJLy0iwyCXdxblrjdNe2l/OCeDcc=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\options_menuback" , "OGZ6SNFo8RbpPqWaO88qCzPm7r8Mv1WzUee9BlZDwFE=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_Adventure_button" , "7PPDxa4AOg4Q/ioviwKYKx2ftu82+zlvJdbeqWlGaBQ=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_Adventure_highlight" , "+Drt7kOZRfinB9t8BsklSl8Np6NxDPJ21XvYuVoiwbY=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_Almanac" , "Th6/Pun/NEn6797dnzdq8XnCqY9/oIORszG6K3xSFbo=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_AlmanacHighlight" , "hp6y9BUvolJ0bQdU1FY1Oyt57fizZFx8Q3zXYR4t/BI=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_Challenges_button" , "LDMp8hCkHDSIrN9F92K93txxjFZ69qKyfG429oRyGfc=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_Challenges_highlight" , "rSB360yGYMYQyNUJYb2xMCgGmSFAl7plLTr1BDMA8W8=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_Challenge_button" , "0DWLUXJ5RYKci+loCThNfHEpk7tKV08vifffcK8owNg=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_Challenge_highlight" , "AXW4pkVR9twu7/SJYvqScPeNswIoefGCBJXDf7SsXFA=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_Help1" , "bwLeNCc4/VtLyocaVQhB++/7t2l4ngYQg+3r95RSMDs=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_Help2" , "B7p5vi9AyiidPL4nvBTVdL+WhUbsKzHEIHyWWAut1KU=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_Options1" , "TJEiHNySrGFxBP85FeP3hl4TcLCVjX1VXYt0navnK04=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_Options2" , "SehcWmqt2cxQhPlcJqUKGeRyl0VgxGymyrVKLyGH9LA=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_Quit1" , "zbJL06XIJDi1PjiR52BZCmNSYaRCWLb13owTgv9hVw0=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_Quit2" , "diLLwcdEED5M+H4Y35Rnyu+W+R6FU7qVDs7DteLWFtw=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_Vasebreaker_button" , "9JoXGZoVFEVUJR+s/mEye3rkTIYwGLZCiajp12bAP/g=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_vasebreaker_highlight" , "b2xzl7F7FEkFZpxGKwEwasmF5BkxaZJArAhcnPQ+Ng4=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_WoodSign1" , "RhYg1ymYR4mEqL0do6dIqRxts+BG9GlB4d5dc+gMjsU=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_WoodSign2" , "aV7MGtWrsnh5O2ikBof66Y4n+w9xhbQbkOObNP2GysY=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_WoodSign2_press" , "bov/KzSszIVUaDK3x1AFJZU5kbiBArl+tBybTxi7cS4=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_ZenGarden" , "8x4Y+E/DvSPrr1sY1k3trPVtqLrRuUUVWktfLIx5qTI=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SelectorScreen_ZenGardenHighlight" , "ldiEJGQVyYvquwZuPy/aYNf+Am24dG6iILuw/1k3dNQ=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\SZW" , "2FoSx111GS6QF3dQoUlqhsbVbDSB0MrnUFKilgsIyzo=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\thanks" , "bffGVtPUS70M8mNXyKDE9aU+XqGMLITegGGOaPMVL84=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\travel" , "vy+5i0dx1+DIECxAsVv/co8gIwM9zk8djIKCHbG9ykI=" },
|
||||
{ "Localization\\English\\Textures\\Menu\\钥匙经典" , "PAPsrNZRY9UetFgFnEwZKdN1TgNbCrU7ZtaPZVzBxvg=" },
|
||||
{ "Localization\\English\\Textures\\Particles\\Doom" , "FqBUBeIvzyyXL+cqO4Fi6CKI5gZW5QXfHYPTOYoeteM=" },
|
||||
{ "Localization\\English\\Textures\\Particles\\ExplosionPowie" , "cuikfX+3LOtSw3EPB6DnjANO5bKkoYCMdWSm+StmW70=" },
|
||||
{ "Localization\\English\\Textures\\Particles\\ExplosionSpudow" , "4pJ/gZsuKRsAbUL1YWsaaJC9NxrzhqUiQe6glK07ydU=" },
|
||||
{ "Localization\\English\\Textures\\Particles\\guang" , "kh0dcDxOXgh8+Eq1TmKdJug5PdR+nzZrK5iS5Nkw7Gw=" },
|
||||
{ "Localization\\English\\Textures\\Particles\\Sproing" , "WtzrUuUsjp/GmOfoHApij3VLMn+Tr5qUZ6GGqqhUyD0=" },
|
||||
{ "Localization\\English\\Textures\\Particles\\SunExplosionPowie" , "3bSjOYpanuLnsl58oYUzOAXt94nony6Drq8qdpfRSGQ=" },
|
||||
|
||||
{ "Localization\\English\\Strings\\translation_regexs" , "rjxlsJwClOAJERCe9XmYJB1q+TX6h0p5zDHqCyu/9wE=" },
|
||||
{ "Localization\\English\\Strings\\translation_strings" , "zsQF+z4URSZY7yuqTfuOIdc/sfcq6g1Hi6ZeedfBFS4=" },
|
||||
|
||||
{ "Localization\\English\\Almanac\\LawnStringsTranslate" , "7BFCUmTVKh5MdefAGxiqgbVtWHcyq9Jg/e8jCWcGI2A=" },
|
||||
{ "Localization\\English\\Almanac\\ZombieStringsTranslate" , "4KU0HKBDqw5VPbvDqzByDS4nGSG0UAHZ6ek7iv0FOUA=" },
|
||||
{ "Localization\\English\\Almanac\\AchievementsTextTranslate" , "Y0rNgt02JEkiv/jacilOR0NgACVjqyWpQNQrF9t9PIs=" },
|
||||
|
||||
// French
|
||||
{ "Localization\\French\\Strings\\translation_regexs" , "Pv4R3N7SkRz8Ksp9DkHR+xMn3Tv7+t57FAwEYDveH4U=" },
|
||||
{ "Localization\\French\\Strings\\translation_strings" , "atzVMZyXEHG93wcM7Uqz0tTHsWK+dxc1csQxLhHF5wA=" },
|
||||
|
||||
{ "Localization\\French\\Textures\\Game\\FinalWave" , "VTTPmIlVoXW7tU/sQyTlZZq2dy3qOlVs7cmPQYd2PMU=" },
|
||||
{ "Localization\\French\\Textures\\Game\\FlagMeterLevelProgress" , "DVG5/OyuPfwy7dNOE8NCKmqZK0tKpwsr7As0df3c+0Y=" },
|
||||
{ "Localization\\French\\Textures\\Game\\StartPlant" , "RkTaTLEoVW4TnXBg+UL3YlG+sdqg+WhP934sTpLlzzk=" },
|
||||
{ "Localization\\French\\Textures\\Game\\StartReady" , "8/MDcBU6dbIHN1vESmyp27QWxIbifrZZn4IDxKldW3c=" },
|
||||
{ "Localization\\French\\Textures\\Game\\StartSet" , "8+doc0lYZ2a3W3qpbMSeRturIOWpmyhHw9COvM4Ctkk=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\NewAdv" , "4noYYWThghcWgV9BCO4WJjEGqHg+SblIoCoCKgTXdAo=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_Adventure_button" , "ZRxJ77hv8I2NmSiK6LTDgnOG9obBh+ueMa3R/NDCd5I=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_Adventure_highlight" , "MoCVUnQ+U8HdUtA4haA7Cx3CmlC/hvVuvYc9bakMtW0=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_Almanac" , "8txwE7D0UbRCH0hzukyZBACcCn1f9yiXLvhzBIkfKCg=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_AlmanacHighlight" , "WoiG0xkTP5oLEYBWOwnf+kkvbY3jD/xTVYgjBQ6/RLQ=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_Challenges_button" , "3NEwHpNoT1jEl+4gDpOYQ/9osW9rvdfdmiJ0ALIV8Uw=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_Challenges_highlight" , "RD2hIoFhO7AU6nmtrp5iJwjptYy6ociYKGUJxNsYHd0=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_Challenge_button" , "eQO5Wj2FOU2kLRMmI6Hhp3lir/hmYhOGrct5dL6utI0=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_Challenge_highlight" , "3cetfrmDbZHx1uumNbBApG5p8I2T8spnrqVhPqSxkI8=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_Help1" , "2yINgPeQqUy6b/mzw/2mFfTxWUlzQrJoYC4Yz/VoGy0=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_Help2" , "aaUDGQU1+0ltVD4OF2Luc/6pXK7LZ4B5jL9BtSNRnjo=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_Options1" , "Lpt1mXltCSkn+9BeMOT+CzTxcQ7cwUtFem+I1tWHdqE=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_Options2" , "MNNGXO8AboJJf9tMKXLpIB6j1foAj6bcHopNhHcpRVo=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_Quit1" , "6NILc8MqiGcQ3ttSKGfDOEOgvUnIUNO/DWBIeNi4/pM=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_Quit2" , "rwTFCgy3kNLCcBM5J6EjguUP4NuvfkDNJjks94eaP/g=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_Vasebreaker_button" , "UYwa4CPhRF8CiWro6Y22GfFQOlk8xCQ6Mldkgk4Jn0c=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_vasebreaker_highlight" , "MzBfCyymyT0E4mGUdhps7O6IHJdHtwNtGoi3kRAS8Ok=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_WoodSign1" , "T2Ci2ItAeYw0hMbOP87XJefKbaye8Fhv5tN4H3V7TFg=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_WoodSign2" , "KnPecN+vhvShgMagZGtPKPzMLcc+N3Kqsrlt51YiKRU=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_WoodSign2_press" , "v2L4jFj8hcIeJzle9LA0OLcCKwXXYdPVBucdslPTlF8=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_ZenGarden" , "ngbC53eTpHs9VaU1qViFJeJVCNhoZcvojiFpeqrXjMc=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SelectorScreen_ZenGardenHighlight" , "F/nkF7zPU6FyWpOaxMim7/NbS6mH23er3ihfF2tVUSk=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\SZW" , "Z0uAEbNYk36lyCsPXGXnmjO0L3C1E68aA54stVpbYYs=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\thanks" , "bzYfnWlAyBzLCflijFAld5m0LBmzDS5vyCbUJs+cn0U=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\travel" , "Ca4e7HNOAXOUzKQAw+1+H1JRI14D1yLEn5cdXHmFcMo=" },
|
||||
{ "Localization\\French\\Textures\\Menu\\钥匙经典" , "E+VDMHWhhtf9MwVo8SB9b2eDTE1v3u5Wd5DxoM935fo=" },
|
||||
{ "Localization\\French\\Textures\\Particles\\Doom" , "q/QV2mCopjFnbwQUUTvoPtcyGV/UAwuxjB9v+GDm3OE=" },
|
||||
{ "Localization\\French\\Textures\\Particles\\ExplosionPowie" , "mqTy7LXjfh1v7kEtwHzIckWjm/4P97dCs4CbyvzOESU=" },
|
||||
{ "Localization\\French\\Textures\\Particles\\ExplosionSpudow" , "zFpkHlUNR9jWL/H8FQWy8habmtvu2wtMi/PpClRax2c=" },
|
||||
{ "Localization\\French\\Textures\\Particles\\Sproing" , "FSStD7Lw1uNrSHqZkZCKrY+hcA6O1DOMKe/6R+jqNdk=" },
|
||||
|
||||
{ "Localization\\French\\Almanac\\LawnStringsTranslate" , "sjZ1qRYGKM3sKMimzIlfmd3e2T5gIV38wy3bU75pLjU=" },
|
||||
{ "Localization\\French\\Almanac\\ZombieStringsTranslate" , "k6XiNRnACedQuAMhh2CHx9jwMfPEJTbG/UZpubs7EM8=" },
|
||||
{ "Localization\\French\\Almanac\\AchievementsTextTranslate" , "cFzYB+rYT5//+JpvEHa8Or97RYJZdAI0zK3Pr0Fw9hU=" },
|
||||
|
||||
// Italian
|
||||
{ "Localization\\Italian\\Strings\\translation_regexs" , "Fr7kZcK4cwoN6WsCARX06Od+PkzCv/FTetj7ME0cIok=" },
|
||||
{ "Localization\\Italian\\Strings\\translation_strings" , "gXM9MZ66TBCflwXl3hMvH46U70kU2w3i4o0EQAd6Xp8=" },
|
||||
|
||||
{ "Localization\\Italian\\Textures\\Game\\FinalWave" , "J7mSpIXvwo0JbrS8RLLWr8jS5KwRcMoDT6aSIVykhiU=" },
|
||||
{ "Localization\\Italian\\Textures\\Game\\FlagMeterLevelProgress" , "pwnHiUlgXSYUhEXhBWe1XUeeWfYTb0oTY9/UlerGPuU=" },
|
||||
{ "Localization\\Italian\\Textures\\Game\\StartPlant" , "6OqWQtc8U0Qm8qyhkdhgOmLhR3yGVnLOFhZ6ZrDIjy4=" },
|
||||
{ "Localization\\Italian\\Textures\\Game\\StartReady" , "3QPcKBCGX8TLM8xCqCDJqY0uCsRg0vUxGzmTkvfXujM=" },
|
||||
{ "Localization\\Italian\\Textures\\Game\\StartSet" , "VS5T89S8Do4xqRwxSBt9kjV9o/minfu3M//piKAJVkQ=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\NewAdv" , "UEsXovFnKuglsJ9S59cnJjDnhfDyTAXtLtVEnw9oOD8=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\options_menuback" , "WjWI+u05cf2sNThCp2EaWE58r2HwXRIP1gfwvwNo84k=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_Adventure_button" , "s4XJiAhMaWGMpyzt/fGQG/dESF2XeQQ9x+1FQWyLkiU=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_Adventure_highlight" , "NrVoP4kXJ8zaw9/cdm2oRPo08C3oCa24xCO23d11UBo=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_Almanac" , "cOdUtbMj5hqPyHoYfORNboSUikAGyoNtKO7DicYANRI=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_AlmanacHighlight" , "ComYfg7rKwHPcmZENPfQP5T9TFQ0ARRmVye2nGAc+3A=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_Challenges_button" , "DMY8d7mlP2ZmBHZz6BjYM1SEFlkFWp9VuIbB7+bMVwk=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_Challenges_highlight" , "/OvCfFYFwlvf+DefR1/XYIAQ7djymbF4EK1kiLJzXHU=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_Challenge_button" , "0XDQd6EaJkRSnYezFxhMFFAse/i2ZlRVmW+Fn9kSWnY=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_Challenge_highlight" , "UfKNb+QqlwzBdu1eORqEeDB9lVVKmGMpqRSExUAUAak=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_Help1" , "RoyqJT79KbODd3PfK28pDvvnhcps9XVDxNNT1GjXu38=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_Help2" , "UQdoBeSlI04NXh+VYjUyN9l3gT5p/CDRAU1jUsFqerU=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_Options1" , "3ebMHMsiekRjU3Rnc5t+yIkeHNpyZi8/Oulst4WWacg=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_Options2" , "PFlm0Sdy/1Kajr32uINpR6i7YXQ54a8dq0+OI0R8zec=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_Quit1" , "bPWwEE74Tdb583NcXB8e5W/meXVvmwuWkuajv+/R5Ro=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_Quit2" , "vBdX54EEKdZkJgiFcCQPtzRPoj0NSKTq7UA7rWDSTBg=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_Vasebreaker_button" , "ZPkJ309XC1P5w3x4IPhItEeLd5WVlU0mIaBoHX3b5Bg=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_vasebreaker_highlight" , "8VuUajuH7+8MJqROk/3XFQOEx541qi89ykuQCNaJ+L0=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_ZenGarden" , "1tP+grtgWPu5HtvUa2ox+9assN+Wgj63wBkJoskr6K8=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SelectorScreen_ZenGardenHighlight" , "sZuiY1fbj5mg0TXaMok/qJFwoYf3+OxkN+Bk3pbTjs8=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\SZW" , "6cXREWl13sjqgdz3Zf5kT1N7bCoIc7LyrHg3WNMVTyE=" },
|
||||
{ "Localization\\Italian\\Textures\\Menu\\thanks" , "I2nKJztoIdeVy/CyGYN/r/DB+Gvv3geaFxOdtMdf3ao=" },
|
||||
{ "Localization\\Italian\\Textures\\Particles\\Doom" , "8E+/HlnnJa52eoBgLYjMyjBCsb5bhc/rTnsJKs2hucA=" },
|
||||
{ "Localization\\Italian\\Textures\\Particles\\ExplosionPowie" , "u2bgHV+XPb4gSz8CagwJdbKWszej9uoIcbM1Z5GRto8=" },
|
||||
{ "Localization\\Italian\\Textures\\Particles\\ExplosionSpudow" , "CciMCMupOdEov98dK59e2wF2izCwW8jpBkwQE/EV/JY=" },
|
||||
{ "Localization\\Italian\\Textures\\Particles\\Sproing" , "nYlKAmcK0rADsk4KS7FaQ3FZBfl+IGQuXb7O1GCML6Y=" },
|
||||
|
||||
{ "Localization\\Italian\\Almanac\\LawnStringsTranslate" , "npd2sE+VJ46XdwqP4cx+Jg7/mgxFiUUgpxEKxDrBUKk=" },
|
||||
{ "Localization\\Italian\\Almanac\\ZombieStringsTranslate" , "GEhXXOMNHS12b+dR5Q6cxYrORjjyywpkPEKB3QzCn+I=" },
|
||||
{ "Localization\\Italian\\Almanac\\AchievementsTextTranslate" , "Z4YUscuIUlrlLiaYWHTEvNjztVt291fLjJjkfc/lYBE=" },
|
||||
|
||||
// German
|
||||
{ "Localization\\German\\Strings\\translation_regexs" , "v3wwSqcUG/g71BrZXhYkpxDYebHeO52n1I8QjjlOuUw=" },
|
||||
{ "Localization\\German\\Strings\\translation_strings" , "LGDwWtGeEnEvv31TnvXdkVUEs5od34WPNQ0od7WKy60=" },
|
||||
|
||||
{ "Localization\\German\\Textures\\Game\\FinalWave" , "+MHS0Xz4nzGw+0knMtj5vJYSxaaT0KH/g8DWXUOv788=" },
|
||||
{ "Localization\\German\\Textures\\Game\\FlagMeterLevelProgress" , "M0XScRnevh24JLXF48cG2GecSHlbP4vGUerW0xk63OA=" },
|
||||
{ "Localization\\German\\Textures\\Game\\StartPlant" , "ab42rVDpP/bDtBjg9LvrfVmEf3E2Bry1pwOnMo8vF+A=" },
|
||||
{ "Localization\\German\\Textures\\Game\\StartReady" , "7vV3VLAlAKbjXTBzaxlN+ulcOimET/gMvohDzyjFXoI=" },
|
||||
{ "Localization\\German\\Textures\\Game\\StartSet" , "nNyPtyTiTsCPalXr/MgQob6EEb8kgyPZjMWmbXu3YFw=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\NewAdv" , "Lx7kxZzwBLios8g7raYwDDPcz2X48SshJaWuklBYUDc=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\options_menuback" , "WjWI+u05cf2sNThCp2EaWE58r2HwXRIP1gfwvwNo84k=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_Adventure_button" , "8NsCGe3aSbZ00AJFlELTtD1hOJlu+RojAAvvD77ICpw=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_Adventure_highlight" , "LcyIKu9BsVtJapQUrpkdefPiA+JTYkak3fg87Tx45JU=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_Almanac" , "JrkVQQByD5XSa77HI5+MVGkrc+3nTDyKEP+Kuij6gPo=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_AlmanacHighlight" , "zUlJJqGxLiwafOpBogGO+zX621Q3EnetL+u5vROt6JQ=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_Challenges_button" , "SWZKSjn8ytu5outezry04hHXcTmQD+f6KlWn4nlIZCA=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_Challenges_highlight" , "9S0JmpQLSGprElTl2MzQoSuT+Eemhj7vaQ20lwi8Ynw=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_Challenge_button" , "VRVyZIq8PBKunX8767vh70F/SA85Cifao+kvi7HMIHE=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_Challenge_highlight" , "WIH6pTlcbWqOMk+H2OYsBft0jVBwYT7hhWiiWaZzT8s=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_Help1" , "t9KLP/pCP5dWxWp7nAPjon/4224sE+yY2sX+MhqRJ1Q=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_Help2" , "KZ7sZ8Q9Jus9Su3Tu3FLWmWJssq/RPnuOO/eQ7HgaXI=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_Options1" , "nqTlln74GhHYs6GKAqcsoS7AzDnOD1jOjvfBBzMOEyo=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_Options2" , "xtg2c+bnhPszl8u8BTma6O/xMxiZ/asBAA5jRCbWtek=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_Quit1" , "xyxc8phjdNVui7E7RHFSSlu8OGIXw8HW2QpBCrKokmQ=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_Quit2" , "PBuRnBbzOk257Jm2i3ISLoz3oeDzy6LNurXaf9LKV2E=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_Vasebreaker_button" , "92BwDgaXMJZXqrcCxdIm8XcZai1NuGH0amcno5E2uU0=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_vasebreaker_highlight" , "YzxTyUcR2OvQ1ctFTKq3kd47A0tgiXp/kPQC/hgdom4=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_WoodSign1" , "T0wrDENK1CD3OgeosDNa4ab28lsSi9JmM7v8wbxB4bs=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_WoodSign2" , "9SZQ6SvrqFn5kPXbF1JD7F5uMfvGyV0xkar2qCvb2UM=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_WoodSign2_press" , "jJD+LiAoEzsnPJeUFt2Gpf+e2P8JjKpnfLDDPh6Zcho=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_ZenGarden" , "5Z6wqSVe04hmNHCPdPrDlJrXqgblhY6OG843O19GVmw=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SelectorScreen_ZenGardenHighlight" , "z6YuoHbmClwoKeBjsLa0wypSdcB3QrEh2wzzYnDk6Ek=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\SZW" , "op9D5nHLxn/WZ/TVVaeji8hj9qRQl1DeuHZF/rj/ZMA=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\thanks" , "myLBgPcIux3cNkPd833r01ZqJsCqBTty31xJE68ZD28=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\travel" , "ASg2t1qO64hqGJMqDTQ8da8KotTKpkGtzKIaKuO1MqU=" },
|
||||
{ "Localization\\German\\Textures\\Menu\\钥匙经典" , "KuqwMj6aedb2J7e8rVQpMa5Ie97lAFbGuwGFZq3POJo=" },
|
||||
{ "Localization\\German\\Textures\\Particles\\Doom" , "rY5dss0ZrDcUHYVTddyesRpU+r0HoF5eiBM4iDMhHhY=" },
|
||||
{ "Localization\\German\\Textures\\Particles\\ExplosionPowie" , "Gu4iuRPXhL3KAlUjBjbBOpjPthKXlViQ+8lw2sreTNY=" },
|
||||
{ "Localization\\German\\Textures\\Particles\\ExplosionSpudow" , "z0h6r4O2FdV1r4CbGVd4nmEpGHZeo8dM2wV9suiZq8o=" },
|
||||
{ "Localization\\German\\Almanac\\AchievementsTextTranslate" , "12tsG4qJrdtX0dxUOa532CyrC+cF403BfFg3fsjRO+I=" },
|
||||
{ "Localization\\German\\Almanac\\LawnStringsTranslate" , "Vqqn/gcnY7SIPEVbIxSBi6DXSVBwMyVCQvhOs4KCoJQ=" },
|
||||
{ "Localization\\German\\Almanac\\ZombieStringsTranslate" , "RlBdepGFFohgICk5idOkRFo9t8FxUuiMw4hoo6eYs0Y=" },
|
||||
|
||||
// Spanish
|
||||
{ "Localization\\Spanish\\Strings\\translation_regexs" , "4QFp251QrntXDcXjGrGYje8gvuKNHAxVp4FfLm0uHI4=" },
|
||||
{ "Localization\\Spanish\\Strings\\translation_strings" , "BT+eTs1l2eWCDb+5CGgJJmjyAGqTulKOh2VuDIkwxTE=" },
|
||||
|
||||
{ "Localization\\Spanish\\Textures\\Game\\FinalWave" , "fcYpg8VM7fWplgQdj87NOj5jtGgCPzvW4c2fJOUiJIs=" },
|
||||
{ "Localization\\Spanish\\Textures\\Game\\FlagMeterLevelProgress" , "4MdtfTqEleDpziEenobp9O5cP3L/nZk18gdT9xW2O9c=" },
|
||||
{ "Localization\\Spanish\\Textures\\Game\\HugeWave" , "n9O7b5CuD9Yu+ccecqsmm4ofp10MAw6eoZmIxnX8WwM=" },
|
||||
{ "Localization\\Spanish\\Textures\\Game\\StartPlant" , "s7phwlweOMyWGCtCtFoLSMSC/VQSxFPVoB9T+RZQyhk=" },
|
||||
{ "Localization\\Spanish\\Textures\\Game\\StartReady" , "DRI5gg//9pDb5dOaR0PhlBzuhP2lryhT6aeklSCUTxY=" },
|
||||
{ "Localization\\Spanish\\Textures\\Game\\StartSet" , "eiX7QvBlF+EcJrXsOxqOkzu0VF/6hb04uNRRHRA/RMA=" },
|
||||
{ "Localization\\Spanish\\Textures\\Logo\\标题合集" , "zt6CxJgEU+kegWGRKzQKwJynE91Nbpk9hgSby2zHW/o=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\MainMenu" , "ZTaVNrPrxtSad5bo89RQVNXxaprYLZuGsl6dvuAoJR4=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\MainMenutravel" , "w7iF3kfdiOg8EdbPKZlfxfObZXSAdqAMzfDMtM+4Dd8=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\NewAdv" , "itgAdOEzcDj7sUA11u4xX3BwY7vssEdui606FpUUrEk=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\options_menuback" , "OGZ6SNFo8RbpPqWaO88qCzPm7r8Mv1WzUee9BlZDwFE=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Adventure_button" , "yE5gPHXKy3xnVBFtSTC0zjhfl0tCrc6sHPK8AiiO/s0=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Adventure_highlight" , "gwHOCHLV9NAvvChiQt5X95UOLaStVZogt4DWAokvACg=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Almanac" , "xfqV6GfWdsrPhlVIduoQ6x5QWnci7DRO0E8qC6lItDA=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_AlmanacHighlight" , "a7NCRdhsKTG4/8CLniWG2j/3MbUh68YmT1QJWAVNCDI=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Challenges_button" , "LDMp8hCkHDSIrN9F92K93txxjFZ69qKyfG429oRyGfc=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Challenges_highlight" , "rSB360yGYMYQyNUJYb2xMCgGmSFAl7plLTr1BDMA8W8=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Challenge_button" , "OT8c2V3GBYxsCMO2nHs7+DbKkdHupmjujVexo/jm1us=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Challenge_highlight" , "utQuQr3NQGeGxfmtc3CC7s86/jTGH3SipAkDrAXVbxY=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Help1" , "+W/tytQsNLMSqPE3QnC43MgqBsU0H9XNrjk4RHundLA=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Help2" , "WNPFp01iipCzzArymTAcu4VLz5E+Hcm/bnjMZZ0eQ60=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_LevelNumbers" , "ES369OPOoW1RsrCvYQbKaUt0GF3zXXgUd3ZPnjDWXhc=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Options1" , "zOkXmvvFsyjLO/nq0Dgl88rTSrJWwBPMp6QiAobyqMw=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Options2" , "MycGypHA2qhq7cgAk97vlPX1gfxmeXoMxQ0FaKwQpkA=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Quit1" , "jtBCpgu/bShFN1ykigQtCjLb+U9aABHugP/8ezHmYxU=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Quit2" , "bbTsQCx08UTWFdM/0csjqYB8rSvCJJm3hZMWSDFmeI4=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Store" , "6gVEuBsk1/udDoEATm2tgmWMCkdme0+oxngcJAKrmP4=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_StoreHighlight" , "grdusCpWrRqZfBuNB1Dj7bKFzyQk3xFReAqoAEKYFhY=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_Vasebreaker_button" , "s6uGdZuYk0R0xmSa8KsCsZAziQC3F6AWyZaL+vqPi2Y=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_vasebreaker_highlight" , "5iaDwlH8qBI3YyWWjyJ/azvzoOMuThRgYykZeAu55/I=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_WoodSign1" , "EzxodXEKdnZDB+CRtpfAMzlGaoqBoXhO79UprQAErmw=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_WoodSign2" , "vibMNgMtv+f43drQs5FWDYv/WaUn6VC3RVZv0qioywc=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_WoodSign2_press" , "esQplw+1F5GBRJA2KPKbZWTQvPEpQp+d2oyym7Bz2OQ=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_ZenGarden" , "6TrN8Qb2J40RES+YBsBdk9b9A1yy81/+0ZCGSfOqmQM=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SelectorScreen_ZenGardenHighlight" , "zr7f1egwQiGj+qJiAM11sWpvRVgGkj1E3q2Tpa6t82Y=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\SZW" , "zXZkY8n4Xa4BRXd2P7CrPeV/oyoImKa3aHZN0AQxrDA=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\thanks" , "a38UKni0HkBOxxZOz8YLEuRomcdqRxH+cUxIiZv+57s=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\travel" , "gyGKFv33M2THt9HsNOGXrzayuTk2O6eW7SpR+gq+6Ac=" },
|
||||
{ "Localization\\Spanish\\Textures\\Menu\\钥匙经典" , "2x/0/QLjwKGhOFxClKDi+wmB+d0n3/B9Y48pW8Kr/uc=" },
|
||||
{ "Localization\\Spanish\\Textures\\Particles\\Sproing" , "WtzrUuUsjp/GmOfoHApij3VLMn+Tr5qUZ6GGqqhUyD0=" },
|
||||
|
||||
{ "Localization\\Spanish\\Almanac\\LawnStringsTranslate" , "EyMLq+zINvouAEcKNy8fPEu0YIJ98NSLqpMs1NX/U1Y=" },
|
||||
{ "Localization\\Spanish\\Almanac\\ZombieStringsTranslate" , "tVcpi3GfFH/0aqsaeCuzszFYi6s1IxzO6Zw7wnB0flU=" },
|
||||
{ "Localization\\Spanish\\Almanac\\AchievementsTextTranslate" , "9PRacAZIbZjZZfc6/qoAggpiW2yZfKjWY7C4im+a2xg=" },
|
||||
|
||||
// Portuguese
|
||||
{ "Localization\\Portuguese\\Strings\\translation_regexs" , "rzeZrvBSmqIGxLs/jHRAJycnkaoKthMidVOItF2PrbY=" },
|
||||
{ "Localization\\Portuguese\\Strings\\translation_strings" , "j+vbHq7c9x5Rarc0yFX5eSQmHHtdXsgRqpCxJ9SGKi4=" },
|
||||
|
||||
{ "Localization\\Portuguese\\Textures\\Game\\FinalWave" , "MK0QFrw4Fco5s9xq+8quKs1Li+SinkQuh2OxfZA4gqo=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Game\\FlagMeterLevelProgress" , "YnkJry/FceiULgkq9RJleesNqgLp/SeKiE5MJA7Kplk=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Game\\HugeWave" , "jRqYPyzJm7kTbLeaSosHlGLWoUjF1mWqtVNdwtAcvuY=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Game\\StartPlant" , "7IkydSAOydpjYX1+LSb+Fpt0M0KRmVcwdvjGgXJYMKg=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Game\\StartReady" , "xoyag2YhVyujDnM/xAq9Xtym8HGKl/h1GCda1mfM3PM=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Game\\StartSet" , "92OXIRhqJJhmdtb0W/WMNVi1t5hdEzpiwzfX/7p4vRI=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Logo\\标题合集" , "Ac0MlmlulBOa2w5peHxP7KhJFPAGObirxua3kWLlstY=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\MainMenu" , "LNnYLNOJryrvG5XIO+ObgE3Nohxjo9n07UjaGjfVHSQ=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\MainMenutravel" , "ZwjI2ybianrOFPEfrLP/38t6y4QB7D6B8hAfr7fvSQ8=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\NewAdv" , "gxMOlYYsojAuEQkjdLIM46dkx4ssCH+ncPdK3QBlAFk=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\options_menuback" , "OGZ6SNFo8RbpPqWaO88qCzPm7r8Mv1WzUee9BlZDwFE=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Adventure_button" , "6yGbPdJMpbrmHUm9VSCVKHQxJ1sy0YgM42EhxRr1FLQ=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Adventure_highlight" , "rdyOJvSoNOHM6uNuL6ehbayGUaOUE/CWs8ZzbzOCafs=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Almanac" , "+5i+4oc5FJDlzzC86ewxR6aaGt2pB6snfvsCpJGL3gw=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_AlmanacHighlight" , "NBmzBkLDe+lMK/wxbV3p2L2hhByBUBP8onsYXO8Pxnk=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Challenges_button" , "mAy8FXDBpR1tsmwAkNvYB+kg8KKZLxmOtVP3d3DWiJ0=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Challenges_highlight" , "jbM14CqEIK+GnRKoKUna7P78p4c74g8NNPEbp01f0VY=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Challenge_button" , "TXWmZyG1TjBnem8kcFVv93RfUnYHf8CqV1n5BQyTGLo=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Challenge_highlight" , "qUrCJfUYlEO32SCoPx89AzteV5hba2xzEjqCcNI2cJo=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Flower3" , "KQThbd2XxKVgA/b9DE8RKwYoNRGTCvOOlGfIlmdnNFI=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Help1" , "gJxez2SDkvOvUtS7q3E6xlnQWWWeG28KaXJSG5pqqeg=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Help2" , "FHAsPhSc3efXrwoZuiN3APOgXJQNf45znFcaoyZ7ZBE=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_LevelNumbers" , "ES369OPOoW1RsrCvYQbKaUt0GF3zXXgUd3ZPnjDWXhc=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Options1" , "FQKd+uBul2bwIcr6nmNq1N3X25C8MRgjyGBy26OuR3g=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Options2" , "xZN/+5sa+0b2eDmS7WV2rw/IV6zglPmF9qan62eJHAg=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Quit1" , "dLesJNU0+2/ep6cJnQBA2iUEgIOtve2ozeK9lBher/8=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Quit2" , "hvq+IpGRu+1Kvjz7g8797qjUIkMx8q3qcMyvJDnhMP4=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Store" , "WuaJyUo+GX7vDJ+R+MA6XRKF39j7lNZYOMCy+8wNzYE=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_StoreHighlight" , "bDeLuhI74R/OTEAAqiIkJJfVyywn4s80lTrgGFNTzLA=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Survival_button" , "mAy8FXDBpR1tsmwAkNvYB+kg8KKZLxmOtVP3d3DWiJ0=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Survival_highlight" , "jbM14CqEIK+GnRKoKUna7P78p4c74g8NNPEbp01f0VY=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_Vasebreaker_button" , "1mherm3clK7CvLh9GpVqMII32w+w54mKZE7Z9fkkZZo=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_vasebreaker_highlight" , "3PVn0DR/33yNI2bjQnDDSSiFRUI+q+1j5lfk/R6JgxI=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_WoodSign1" , "EqYk1lM+BEqgaAqOJXF2HRPkYTgc9j2iMyjcd7/w/Vg=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_WoodSign2" , "0iGZDDOUZGqqbMV0CNnjMPVNbNXmvyrJlDIkJ0SV2jE=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_WoodSign2_press" , "r2YuP2O+mEVhGmapNpFRX8NTx1uY43oaU7kgZyzUhok=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_ZenGarden" , "Ga88gKhsCeLtSoTYheuB6aPx5s34u9SqicGbLI/G6Ng=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SelectorScreen_ZenGardenHighlight" , "0xCUMxGOkVjkgU+fzmlzzSzC+acBGxKhmMjXT+idOk0=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\SZW" , "UVGfrlWecM6jEtNJPqjZ+zI66w3euAdOMNl1EPfKpxo=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\thanks" , "eHFnd+JUF/r6YRbpTtjmbs6Pywp92asO6TD/rLmO6Eg=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\travel" , "qmw+h5LBEWpIGaSe3HZF0XYUScF2VnGQxKWoD4cR2Pw=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Menu\\钥匙经典" , "g1DKaF3XxYSuiROmemzDz5C2cUcAQ7jPzuoV+nbC/Tw=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Particles\\Doom" , "FqBUBeIvzyyXL+cqO4Fi6CKI5gZW5QXfHYPTOYoeteM=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Particles\\ExplosionPowie" , "PHe2TsElYp9UvabT8sxF38JZc+4Hiz78HJyqH/Tzt3M=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Particles\\ExplosionSpudow" , "Hc/nhkiBIHrZzgdX8+zPYBVoGgNj8177Eqn/S/CvhUs=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Particles\\guang" , "zpzEG5fPPVYI3tf4DXE0hu3j5BlwIPSAKgcbpr/0wlw=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Particles\\Sproing" , "WtzrUuUsjp/GmOfoHApij3VLMn+Tr5qUZ6GGqqhUyD0=" },
|
||||
{ "Localization\\Portuguese\\Textures\\Particles\\SunExplosionPowie" , "Cx5JShdk8H2FKNujBTOylSR0708YuufHqWUZiV+sG6c=" },
|
||||
|
||||
{ "Localization\\Portuguese\\Almanac\\LawnStringsTranslate" , "WilEedYB6brtG2gExyru8VCIPjYiH8KOvCZ3dXkSaUc=" },
|
||||
{ "Localization\\Portuguese\\Almanac\\ZombieStringsTranslate" , "ihC0adgxNlZjMrbLFMrYbprM2fY5Po4GfxaGvLJiDaU=" },
|
||||
{ "Localization\\Portuguese\\Almanac\\AchievementsTextTranslate" , "2gd4zJcz6giTsKjIyjIca3DkWOipeedtbQpX26AJnkE=" },
|
||||
|
||||
// Javanese
|
||||
{ "Localization\\Javanese\\Strings\\translation_regexs" , "ci3jGT0t5FHqstahiDanSlnoXjHtfNLKD1JV2ZmbARQ=" },
|
||||
{ "Localization\\Javanese\\Strings\\translation_strings" , "r84OFD0SmodV4abyygiyDmwPcfDZTPPvZ5XA+sYHAIA=" },
|
||||
{ "Localization\\Javanese\\Textures\\Game\\FinalWave" , "ZuqUOUgNV8tNZ0vzyn0ME2VOYbD1TuksAP900r94QP8=" },
|
||||
{ "Localization\\Javanese\\Textures\\Game\\FlagMeterLevelProgress" , "bZUyDcbcLtz+uG7pnXncJEgBQn6dkE0HUuO0py5Qqtg=" },
|
||||
{ "Localization\\Javanese\\Textures\\Game\\HugeWave" , "yNfz9nK3LRYy307H6xe9fbIkBM1WryMNkpUpX/AjaY8=" },
|
||||
{ "Localization\\Javanese\\Textures\\Game\\StartPlant" , "vx2ZKMq6MPzgi/wQkTCHS3q2MKGfDSV/nR0Y6wcV1RM=" },
|
||||
{ "Localization\\Javanese\\Textures\\Game\\StartReady" , "U/G1MHSRD5N3XYuLz4aj5DAnj2OSIL7lTLSakoTd8o8=" },
|
||||
{ "Localization\\Javanese\\Textures\\Game\\StartSet" , "uX5YiWkb7Fh5TmEJAyj5llaUEPIv8HoIgtLhQ4cenMo=" },
|
||||
{ "Localization\\Javanese\\Textures\\Logo\\标题合集" , "uAh1wGHTmqL+eelty5vhYB6aeXxyt0j4PMXgyDsWg6c=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\MainMenu" , "OZ1gfSCjvhys6N8eeM0OZKX/z/FDLtX6HW3MA/UqgLs=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\MainMenutravel" , "V7dmKMS/Ta7LUobEgFudX3hVXCs8GBulEYJUIkvn+do=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\NewAdv" , "y9AUQwwNxsOnkPM5LY5DT80cQ/X6WmNsGmzzo1VZdyY=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\options_menuback" , "OGZ6SNFo8RbpPqWaO88qCzPm7r8Mv1WzUee9BlZDwFE=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Adventure_button" , "5nPBRgfdFD0RWQ8j26FXzQBN630hSr+VRyKXr/9ALAM=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Adventure_highlight" , "39n+opclWXQEDzKDrsg2r0B5ZtCx7eMcryp13eJvZ1A=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Almanac" , "MAucz/pmIdNnun4hLfp0PDrjESlsAZ/iL49NCYl6feQ=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_AlmanacHighlight" , "Fea3OWEPntAYCFCP1DK0lrqQByQTQJ7TNWhS1wRfk3I=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Challenges_button" , "xdoeNs/98lT4BKon8Bcwk7m1S+fGbLeHgZISD9qVt1A=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Challenges_highlight" , "91z8WbCI7XptpUtaN7mJ1BWz+0JNRMYNbDcoxzb7YhA=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Challenge_button" , "6W1spOrj4FB/SgOb8851XRMAnXoudOjNyl6z4Egw/rs=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Challenge_highlight" , "2MhlockgUB7+YVxv096GrbPItf5IVWtuAiv/o65Dx3E=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Help1" , "TrxevH4mjIf4iCFdUXk/Skwq7Asg1dxteTGzqOjQk6o=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Help2" , "s8i2Ca+iB8CGihGdlzqFxZ8PYO7tdm4ODH3GiSqIyMA=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Options1" , "JmwncgGiBynAVjnGkPd0EKXh+MYkUhbpy7H90MYnfTE=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Options2" , "FBzi7WpQje1t1uadDIjcDCwVe994I+ICfmdx96NqrM4=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Quit1" , "N4yS6t5+p52vU93MbHeLgFik9uureOGgJFL8G4FwKho=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Quit2" , "NPtds1JqdvoLtHiAYxzyeM4RyvcrcYLu1HMSnO3252g=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_StartAdventure_Button1" , "fIaIRMLy8g56ifWSPZmKH6CCQLia550aovyHGJIRUBQ=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_StartAdventure_Highlight" , "n0+5ijqYlRWC/3l2JSqtZPnMDbFp7TLSeZefohaEqg8=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Store" , "6JxQIrwb++ekCR47/hQKyahxmMt0ntFDa8A6qETcs3M=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_StoreHighlight" , "8SnyShbhGdphCX4dqfWjuoQIZvlnpDsT7a9mrS6RLEs=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Survival_button" , "/mMMNvV2V0X7oSVyKWhLryEO7Bo+eCgDiHozjd4I3/I=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Survival_highlight" , "pNX/YY+qV9RmVt2dcXLTZ+magOEhQNxtxYCUQ4a+S4A=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_Vasebreaker_button" , "IlFeFIlDFW5QAMWwRrgwt9kvStq7pJXNYnWfa3o3zmo=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_vasebreaker_highlight" , "aHyZVtF7SxvC8i5Cvj6eARj4+YrB64TZ5njk9whfdgk=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_WoodSign1" , "aJ7MmKsDxiIuExTTP+b26x548jJC9PR2l5An3/Xdlv4=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_WoodSign2" , "5G3x/AWLBZY10RKKdlll4yD9YFzTNqke1GJuTQk0nCo=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_WoodSign2_press" , "S6vvweA+KTaP0m90S3lu8oitt0/kfc/XasW740bkeGs=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_ZenGarden" , "kgnex+VH/1wjfCM0gLUPRQ16Nb/jeBOBwz7Uz+tBrKU=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SelectorScreen_ZenGardenHighlight" , "cHufQXgZze8hFwdw5M1gzd/kgtMrFQGIaforUAQeVUk=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\SZW" , "kJM+ICVWg9rIbVDkhX63KdViIjnVYH4IGC8rqvmnAQI=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\thanks" , "UPSssI3shIEOMFKQKhRALT2SHpmBTMgHmxpBbRJmPIM=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\travel" , "s0AOJiMph12ZnPEYyXZ66EbfBHl8xlwhHh70nlW3kkU=" },
|
||||
{ "Localization\\Javanese\\Textures\\Menu\\钥匙经典" , "5VCHANL1SD1xv+QsPdIDIGeq1Ksw2Q0O9Z5fH1ilCBE=" },
|
||||
{ "Localization\\Javanese\\Textures\\Particles\\Doom" , "OE2mWsoMv7SEqRWQJWzJ+A/5gQXeRtogIph28cHJyLI=" },
|
||||
{ "Localization\\Javanese\\Textures\\Particles\\ExplosionPowie" , "P2jrh7tf2d/9EWHoMScwpkpm9ZSvd+ZACEJqSzen7lw=" },
|
||||
{ "Localization\\Javanese\\Textures\\Particles\\ExplosionSpudow" , "PXVMwcdcn2pL3mN7O3JEMFvI78XGb/POvZ3Sh26bbOw=" },
|
||||
{ "Localization\\Javanese\\Textures\\Particles\\guang" , "fWG+wb2CZqaSsaLhiscKXHpqWiyG7Z2qXtHhBzumlSU=" },
|
||||
{ "Localization\\Javanese\\Textures\\Particles\\Sproing" , "+CRy8k+5wzAdG5wVPM3sTYny3hCmPURD42qnTOIv898=" },
|
||||
{ "Localization\\Javanese\\Textures\\Particles\\SunExplosionPowie" , "ifNQQNn0abUE11stJvwS5wZQm2Y9kPhQx7bXtF0EnCs=" },
|
||||
|
||||
{ "Localization\\Javanese\\Almanac\\LawnStringsTranslate" , "5JgLhxOJA5v4dmZIlUuj5IhDJAijMQov7xNm4mhcKTw=" },
|
||||
{ "Localization\\Javanese\\Almanac\\ZombieStringsTranslate" , "XpsMKQ0tZON0zeC0NAjZZqC/4SgSBFieYpDBMit2WFo=" },
|
||||
{ "Localization\\Javanese\\Almanac\\AchievementsTextTranslate" , "g+5/ND/fdGs4fX7mX88GFp1vdI5lAicu4UcOhjLWoO8=" },
|
||||
|
||||
// Vietnamese
|
||||
{ "Localization\\Vietnamese\\Strings\\translation_regexs" , "jkmDo2/shz/L1entNc/VMTHSwITTe1lDSWkXwu21HY0=" },
|
||||
{ "Localization\\Vietnamese\\Strings\\translation_strings" , "DEcePF0ruVJLmtTWVL6cgpg6R14ha8loB7E1sEf6r1M=" },
|
||||
|
||||
{ "Localization\\Vietnamese\\Textures\\Game\\FinalWave" , "Ut9Z9amTQgL3Pdcza22zTjKANBKZ9iGQGwuiV9yia90=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Game\\FlagMeterLevelProgress" , "4pMjKlDTK/eLQtYWZy1yjgAsDizgOQLZZcA6lYdDbqA=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Game\\StartPlant" , "Vu7L6nDEl62NmhpQF+79hPc/Os3iJogr1N3DGUPv/Nw=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Game\\StartReady" , "z3YlFfGkneA4LSSqqtlpnwNLJq3h7gwtl1ZvcxdgUxE=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Game\\StartSet" , "snzA81WMzGmssVb862bG95eMRmDGn8t3tBEtj0M/OL4=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Logo\\标题合集" , "xqL8p6JTWYSMJmWxxOsA6ToA9bdeA1PrFSWsfarm2uw=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\NewAdv" , "HgyAiO6/YX6jfqzcfW08m/EeXqFRsaGQlIv09U3kHyM=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\options_menuback" , "OGZ6SNFo8RbpPqWaO88qCzPm7r8Mv1WzUee9BlZDwFE=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_Adventure_button" , "vkeO+XAUZURjHfog5dqM2EWmx4Q/Hkgm2lxKWWuEn84=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_Adventure_highlight" , "bmw+kDo75C0h/xHg7U01xvGQqzjHBjgOvYjuZDLdOU8=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_Almanac" , "1gsF1/5A/Wwg7X7NmYVvJi3vaavEqbAMDy96vLCElf0=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_AlmanacHighlight" , "Euqlx4l5PGWP/VDni40lyo6XONI7UH+jjT9NGbIdaSI=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_Challenges_button" , "anKXed+ijHNf2PnlyRHOdnPNHujFsjwehPuS096dDS8=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_Challenges_highlight" , "Fva/m+l9o97nj/niIO3eXfVP+I9hCK+Mhm0nrB/ZgBw=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_Challenge_button" , "wSZkmGAeFCCEj0US6ZJaJACCwRuj6Tj5JNirlbkmCcc=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_Challenge_highlight" , "NFH6cDojgh8QeUFF9EMBi+yBVCj2Pi20Up1qQH3EycU=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_Help1" , "Y3CrU9B+tdD80MgmCUoWmpvmByahXIvI5tzUjPZZlQ4=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_Help2" , "lYbzNUtHudgFvpoEaIQZ420RBmFJmxjrwNmVrq1V1KA=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_Options1" , "PmdPi4VkTI/Dlal5s82jQ3xay2F9xA5n5pfcz0ad4bk=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_Options2" , "31itkFsIYHeaNMjwiHXiOkeC4pA4onVejVbvMR9dhS4=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_Quit1" , "AuhF4Z+C9UE6huKECVBDMRSs1sUEOCsX2yJRPFJ19do=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_Quit2" , "JsbRYVZk+KV1870Nt8rlWb6Le2YLKXU8Gc8NXMCfg3o=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_Vasebreaker_button" , "GXlUgJI9mP+YYqwBU/e+0LeFh9VsCgRLepK3yYLd5JA=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_vasebreaker_highlight" , "U5t2Fhn17ahAzH7h+nkgpEpEVf7qBBoGfHd3d9tYnVY=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_WoodSign1" , "2xGQ6lS/KxIwjmv3iu5cWBPGucSLBqcT7bdp8KCDC80=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_WoodSign2" , "nMB8AT0nDCBG0aHPxmTKIvVNMvhVm8wli2zU22edZR8=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_WoodSign2_press" , "QhWvlqpFpjF0GYW3LTRaF7hjogvFH0CjtIGZNS1Q0rc=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_ZenGarden" , "2PjsUHvJWhcAdG/Wq6xydshRL0ufXkj61IQ1QBnAcjo=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SelectorScreen_ZenGardenHighlight" , "xQ3G4RgOY+/pR4ZjmPkY92Ei/qURxbSmXF3dEGpkuYU=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\SZW" , "0Rfvp6ZzoeqC0CN53g7VD1VjqTNY6pRbZyfJhPk16s8=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\thanks" , "9+56vhTLNddtzyzVQfaKvf7pUwBwQQYYleVVh8j2P2Q=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\travel" , "Vz1TbErS6YBlJK3xGVltUi+M2wLINDwv675IfMYK774=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Menu\\钥匙经典" , "3vVVP4TSpnN+GhcKIorkVC6NiSXU90gQUhUFkp5JV9k=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Particles\\Doom" , "wGdj1YC7DgQ9gO+0qOUM3GvWkZvmSmFcdZPRuC0xWg4=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Particles\\ExplosionPowie" , "NLVTBUV+qnJSN8iDyN0/X5mCLuMf/gNf0eqQSNgyR/4=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Particles\\ExplosionSpudow" , "87XKk/0oU6tGGyCe1/2KzBHucjYc6fpEl6C5MQGz1bI=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Particles\\guang" , "4hMjrrMrOOkLgHlLzuIieJGzwy/SzmY/JI6KDKxA9EU=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Particles\\Sproing" , "Kt9TlS9eDVObwbNh9iy00bB5WjXufKPZv7i+mxUG9mw=" },
|
||||
{ "Localization\\Vietnamese\\Textures\\Particles\\SunExplosionPowie" , "DGdHTnCA+6ovq0sE5TwBEayKAuF5cb+MEOv8xX5hmFU=" },
|
||||
|
||||
{ "Localization\\Vietnamese\\Almanac\\LawnStringsTranslate" , "CM3FWxA/MKhudP9bRjsTNY0ozLJ1K0nOVs/awEvOrnA=" },
|
||||
{ "Localization\\Vietnamese\\Almanac\\ZombieStringsTranslate" , "yFHjQbsTxaw621AXaHzJLDulElVB1YlKI+nUxvjJuus=" },
|
||||
{ "Localization\\Vietnamese\\Almanac\\AchievementsTextTranslate" , "Pyeukawk/N5uiUBKDs/erVzIzA+uqZZhtP2amyCKKdY=" },
|
||||
|
||||
// Indonesian
|
||||
{ "Localization\\Indonesian\\Strings\\translation_regexs" , "4hmtjqn06LLDtClO8mlg13blxXj1hPwWdaSjygj7/2I=" },
|
||||
{ "Localization\\Indonesian\\Strings\\translation_strings" , "qc4bxqtaJeZBI6nxL4jnf+VpQu/xpJKs/89IYfDcNC8=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Game\\FinalWave" , "EKjMvK+krWb8AEnvhL02z4ETUR4GEbtEspU8xTL0XJY=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Game\\FlagMeterLevelProgress" , "bZUyDcbcLtz+uG7pnXncJEgBQn6dkE0HUuO0py5Qqtg=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Game\\HugeWave" , "kHSyCA4DjKiacui1Z2Vij0VSKr3UqI7FeiZp6MiYeRI=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Game\\StartPlant" , "lraovY3Nx09xinbn9lF3g5OQPBmBzwkCS9EX3PeKrKA=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Game\\StartReady" , "WwJG+GIHjqZ/3PWlt7MmATmn8gegir5JdWLHSDOyONk=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Game\\StartSet" , "wnAy+G4MWwVp11UL9OovumPhS+bFoIw188yt7djqd5o=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Logo\\标题合集" , "i+dOUq/gv+NF4PbSsElYnsoi8WnrHFgTMCA+lEXwH9E=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\FlagMeterLevelProgress" , "CzuBH4sm7Nid4zloZF3i0bpNcA9ILPhrmOxVYI4IggA=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\MainMenu" , "OZ1gfSCjvhys6N8eeM0OZKX/z/FDLtX6HW3MA/UqgLs=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\MainMenutravel" , "V7dmKMS/Ta7LUobEgFudX3hVXCs8GBulEYJUIkvn+do=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\NewAdv" , "y9AUQwwNxsOnkPM5LY5DT80cQ/X6WmNsGmzzo1VZdyY=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\options_menuback" , "OGZ6SNFo8RbpPqWaO88qCzPm7r8Mv1WzUee9BlZDwFE=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Adventure_button" , "IZnCr7uu/muNeugOXMVymHMd5wJ+nfANiohpPnXKleo=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Adventure_highlight" , "qiAu0iMOKYUs9XDLgZ7LgVd+KiR0Xn0t0jtVNmjl2Yw=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Almanac" , "MAucz/pmIdNnun4hLfp0PDrjESlsAZ/iL49NCYl6feQ=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_AlmanacHighlight" , "Fea3OWEPntAYCFCP1DK0lrqQByQTQJ7TNWhS1wRfk3I=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Challenges_button" , "BTltkx67dDWnRIL/TaXUKcUYiQFT01zF0IicWldAV+E=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Challenges_highlight" , "GCd2qh/rfLbLserDnSzPekRvxIS6W9q+FeNWfkEqTcg=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Challenge_button" , "6W1spOrj4FB/SgOb8851XRMAnXoudOjNyl6z4Egw/rs=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Challenge_highlight" , "2MhlockgUB7+YVxv096GrbPItf5IVWtuAiv/o65Dx3E=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Help1" , "F3na7RpFGvO8bF5lvQbvJanJQmUqPEO5+vkKo4Cx220=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Help2" , "imagpCvSovqC6SkeR3BAJqH1u9ssin0C6jwIhx0wGpc=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Options1" , "DMwpZW09/p4CFkgsAqMPExEXzQYOb1TAWKURN4LOYc4=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Options2" , "s6wcmSMPErvL/4QuRE7ZYWtCg6Nl6A3FeVL1pK8cOrQ=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Quit1" , "fNNNbsaNEYP3bl3KwlypWIDZNCpm4wVDYUDsjzBw1zU=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Quit2" , "Qm2506IHHfwXKMkqS3gS39hjjZnV3AP2IHJlOrhYpCI=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Store" , "6gVEuBsk1/udDoEATm2tgmWMCkdme0+oxngcJAKrmP4=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_StoreHighlight" , "grdusCpWrRqZfBuNB1Dj7bKFzyQk3xFReAqoAEKYFhY=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Survival_button" , "0DWLUXJ5RYKci+loCThNfHEpk7tKV08vifffcK8owNg=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Survival_highlight" , "AXW4pkVR9twu7/SJYvqScPeNswIoefGCBJXDf7SsXFA=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_Vasebreaker_button" , "Q24q+w0RftOK+HcQTDvjG5xDpIEYMdecJyGTNGoh9+U=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_vasebreaker_highlight" , "S2IYcVmWghuxAVeaV67EnZ1ZjxyLuEmqLRhknUAQ9dQ=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_WoodSign1" , "aJ7MmKsDxiIuExTTP+b26x548jJC9PR2l5An3/Xdlv4=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_WoodSign2" , "h5NWhUBnM+ro6J6xs7UDPEmT6055qZP49ppF4wIxePw=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_WoodSign2_press" , "tu3PiZyJK6CcwaV78aQpqXcE5aLaHA9rPpgzMAbcEAk=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_ZenGarden" , "MAMBtit0msOsty3zZ1yczih8NsF+4nA7fw7BkYMjCk0=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SelectorScreen_ZenGardenHighlight" , "B17BIhLDvt00Opiag4nqg9a6SvClVr3LlCjzMLI00iY=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\SZW" , "OWT6LXWuE7Tr3nH6wYMuUfh1+K9y4TRqtb570pm7veU=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\thanks" , "APJpvesl3m2b09ru53RG0MJWcbpia+teT/SnPrnO55E=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\travel" , "YP1AGn+G7iYrZ5NQy08TbVxMjFfH7HzdyAMJtwEQ5L4=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Menu\\钥匙经典" , "5VCHANL1SD1xv+QsPdIDIGeq1Ksw2Q0O9Z5fH1ilCBE=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Particles\\Doom" , "8vtJfi6ngoltUJQbyCLvp0RnoRZbbVN+piV6lwR8KgU=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Particles\\ExplosionPowie" , "mmL5xtnIBT3ffswqXHMiz0rXmbj85rCmiWGNnzQq1oM=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Particles\\ExplosionSpudow" , "PXVMwcdcn2pL3mN7O3JEMFvI78XGb/POvZ3Sh26bbOw=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Particles\\guang" , "fWG+wb2CZqaSsaLhiscKXHpqWiyG7Z2qXtHhBzumlSU=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Particles\\Sproing" , "+CRy8k+5wzAdG5wVPM3sTYny3hCmPURD42qnTOIv898=" },
|
||||
{ "Localization\\Indonesian\\Textures\\Particles\\SunExplosionPowie" , "ifNQQNn0abUE11stJvwS5wZQm2Y9kPhQx7bXtF0EnCs=" },
|
||||
|
||||
{ "Localization\\Indonesian\\Almanac\\LawnStringsTranslate" , "E/P7S2V3xWCnG/DZfW8shpV1ieJUvPf07U/TyJ9LPok=" },
|
||||
{ "Localization\\Indonesian\\Almanac\\ZombieStringsTranslate" , "twHrylFgPp+RBQ6l10+QHIxgs/mI7p8lRC9etNsAKSU=" },
|
||||
{ "Localization\\Indonesian\\Almanac\\AchievementsTextTranslate" , "eRZlZgKN2EtZV9BWYOPHPZHBuhLiHzYC3f/wDcwFnR4=" },
|
||||
|
||||
// Russian
|
||||
{ "Localization\\Russian\\Strings\\translation_regexs" , "6ASIdaFZLLTSdckI4evzynZY3CtCfTuG/BS0ENft/9I=" },
|
||||
{ "Localization\\Russian\\Strings\\translation_strings" , "mRs9Kx+QyCO5PUScMWyr1P1f3cIMscK0pWjVP4iinL8=" },
|
||||
|
||||
{ "Localization\\Russian\\Textures\\Game\\FinalWave" , "IOhfHr8EBtJYfpWWtELBUtmJNoxv1TdBFrhEfFPshVc=" },
|
||||
{ "Localization\\Russian\\Textures\\Game\\FlagMeterLevelProgress" , "bGKyk8MpfsaYt95/NQ8kboA0Uxt6ay5PoL0l0RHZ/+M=" },
|
||||
{ "Localization\\Russian\\Textures\\Game\\HugeWave" , "w1dq1brhzL0eGwj9GJS0vQZDgYVbWjDxRBx60xToKBc=" },
|
||||
{ "Localization\\Russian\\Textures\\Game\\StartPlant" , "PIOtRaWW0ZdFMNBgyA3Ca4H4rMSLMvfXFvaY/ZZ/oEo=" },
|
||||
{ "Localization\\Russian\\Textures\\Game\\StartReady" , "zUT1GiCxMDAPlxCyuYPmmztGxDCVdtjiB7C2+Qffpkg=" },
|
||||
{ "Localization\\Russian\\Textures\\Game\\StartSet" , "ut3aHNTGhzVBNlvHTFIuyj+6SED8Pu9rOpIWKI0V8MQ=" },
|
||||
{ "Localization\\Russian\\Textures\\Logo\\标题合集" , "qocM9muRdJBmjrs9yTHTknMLWX27aPY7AdMMdLIzd7c=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\NewAdv" , "PIDRlOMsgrLxpp51rWt//B2cBdmNKKEYTvuMUN0wFvI=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\options_menuback" , "HZfWszRsYXntilq2RRoQg6cYPNF7Api0ppAHYJ46wy4=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Adventure_button" , "UGbQ44kL1zXnsJcAr4vrZZu0hDSTEbtdKM2shtebg4w=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Adventure_highlight" , "drv1AX+e4D/mA+1IqymPQ5RllTfRatuI+a2/2YJD+GE=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Almanac" , "BdotPdigckPxfrORVW5EJucskfLdK06icpH+Q8mS9fs=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_AlmanacHighlight" , "XoTbNX+410xOdf6MX3BZiVlzD3MsWaqpF8KXZyxduXo=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Challenges_button" , "pcno2qw/DBMHX3VzGUHErYSAiQyGWseDJGjwHWZI//w=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Challenges_highlight" , "Bi5w/0q4C9CpWCjZGLLTHQek530srsp0/Kom4W29IG8=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Challenge_button" , "kfAEG09yl5h6dV0vHmPl6o72+Wu3kzvBXtyw62E1puk=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Challenge_highlight" , "VvP4urY9+U0EPEa19fByOzOX4yKuNzD7eLTuxlEBW2M=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Help1" , "jFKhKseKeZ+y1b1lLYBqfsM5GRGv6JVUa+Jo8sb9p0I=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Help2" , "c1xqKGKKyJhznB5vZpT8FkiSD/luKAEOVH7ZSr/rpp8=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Options1" , "BirUdLzY2B3sedbxZ1eqTwSo/l2UW+obPk+oZhhiSUw=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Options2" , "SLSw+97otiN10CyE6nX6QqHmiOjQR8aYuBUveZ8Lx9c=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Quit1" , "B5L16JYjqNJSD5pA9vhEq/C4gzFkz7VYnzcORjOytxA=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Quit2" , "+7s74lMPYaJu+U+572MRvmOolp33Q5xmu/TMOmRvlZc=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_StartAdventure_Button1" , "f+NFEqcMvJj20nysVA7mlGmFkJZAmmef+Gi8yUvwses=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_StartAdventure_Highlight" , "f+NFEqcMvJj20nysVA7mlGmFkJZAmmef+Gi8yUvwses=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Store" , "N+M6I8pUzeEaetRaE1Wjh2j4g7a1uwrBnqR+7zbsxxQ=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_StoreHighlight" , "QiFOWjJqdoRZMbXfTuKJwTdm5a3E6vm0rGkXwMaMCYs=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_Vasebreaker_button" , "ta02SAcbm7ErKiwz4vpZzrtuptJComb4X2DAwx8GiJw=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_vasebreaker_highlight" , "28+kPzJUSqm5KKrUlA5GOAy5+q//1bknEniSze/Bb6M=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_WoodSign1" , "8CV21tQ/HxANofuuTatQO1Ul8zXQYwo1rfzU6iozCiU=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_WoodSign2" , "bG6o/CpJPm9XBfWq/m3f1cquTAOr5fbwRNtx7XEPcqg=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_WoodSign2_press" , "v7BbNSzfQIVYLVrYSOIO2i1NbplOiQjYyQcR4rR8OJw=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_ZenGarden" , "WsYKxhTcuqTFT9jbeOne+W3/opToTbzZFnq7uGulJfQ=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SelectorScreen_ZenGardenHighlight" , "aGRi1WWchHxPisQdbkX9xmsALia6I1jo8JpysSHb4BQ=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\SZW" , "eaqxoi1/FlIyUCfEpJnFgl1xoSwqP1XRHFIaobQzD1A=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\thanks" , "Juq3A9M9V/jScckNECv+JB2U7W+y6YivxELZV/nN3JE=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\travel" , "8lXVCidvQOeh8y9kG7xN51Ch9VyL8ThZah/OI1RxN6c=" },
|
||||
{ "Localization\\Russian\\Textures\\Menu\\钥匙经典" , "wwcruWy65C8iXjA+SY1dvx/hrSQ/KvVkX4OOOZ6lS/s=" },
|
||||
{ "Localization\\Russian\\Textures\\Particles\\Doom" , "OWddkj4pnY9xmSIuQIL0vb6F091j8UY2PEC4tZ6P3p8=" },
|
||||
{ "Localization\\Russian\\Textures\\Particles\\ExplosionPowie" , "KbPmKOHVvOH9njUEBWb6SJPEdGOLbpAG0CpliNyUefA=" },
|
||||
{ "Localization\\Russian\\Textures\\Particles\\ExplosionSpudow" , "k1C6TaoPE0ZRw79UAjDwlRaLjf4Q/b2N6JM9SN1I5fc=" },
|
||||
{ "Localization\\Russian\\Textures\\Particles\\guang" , "+Xd4hpZk2VEhgHr9HATWRhjEbg4WlmXkh5DA+gXevIs=" },
|
||||
{ "Localization\\Russian\\Textures\\Particles\\Sproing" , "i33iY8w5LR7Kdqf2vVQ7UmE9SrWZ+5AGepTy5QINyHE=" },
|
||||
{ "Localization\\Russian\\Textures\\Particles\\SunExplosionPowie" , "BCXJtvwnDvIzc7cFnxN3wxR7t2o1rqa6hulW54PJLrc=" },
|
||||
|
||||
{ "Localization\\Russian\\Almanac\\LawnStringsTranslate" , "NwYjBl+2v0brh38S4AJpHHWDK/1hCJ5VVqY+Cf5jYkU=" },
|
||||
{ "Localization\\Russian\\Almanac\\ZombieStringsTranslate" , "ejVysCnTehbMFkjAXN7n7NqWespRHmv5cXYM0hMlK0U=" },
|
||||
{ "Localization\\Russian\\Almanac\\AchievementsTextTranslate" , "ST45TjReYXrBOfT3r2YeDakJm1SN/jtH/5z0Qp6Ms4c=" },
|
||||
|
||||
// Japanese
|
||||
{ "Localization\\Japanese\\Strings\\translation_regexs" , "YXerYuvclj9na6pQOefuVfJVER28OAb2EkG/kMLqrGQ=" },
|
||||
{ "Localization\\Japanese\\Strings\\translation_strings" , "hXi0RiHTbzptiAHqko0CRwDDWW9zoRSdQpOXpd4U3BI=" },
|
||||
|
||||
{ "Localization\\Japanese\\Textures\\Game\\FinalWave" , "tyOrI4m+7b595JZufjhesTYXqiSWuNg4Dlm0fN/ZzVg=" },
|
||||
{ "Localization\\Japanese\\Textures\\Game\\FlagMeterLevelProgress" , "J8Gnugo3MCdQCFNaw91nOWKiYEJltD7EpScPvgJjVdQ=" },
|
||||
{ "Localization\\Japanese\\Textures\\Game\\StartPlant" , "8+rIjUEkUtyYRsu9ZHsM6B26fT87U6BYHtjhef+sZSc=" },
|
||||
{ "Localization\\Japanese\\Textures\\Game\\StartReady" , "G0wx/YkdgSZju5xUluqrq554u7ywOGxRPjQwfEEHwSo=" },
|
||||
{ "Localization\\Japanese\\Textures\\Game\\StartSet" , "4jSRsYZN+mA3pMZQtjtxxo7z8PYpjyM4Ja1coeOERmQ=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\NewAdv" , "9CgysaFPLkL+h3CB5zLiUxj7Z7xSZCTQKFr/pAvjW4I=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\options_menuback" , "KcUX62UuqoR0UKas1yijEQP56fWbagBIpSwFIr4df+k=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_Adventure_button" , "nqJjYCKTGCWuIHwSSRDpsJkPK7quA/4UgfX+EZsadsI=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_Adventure_highlight" , "/oarc88nswGdHzRI7+ol5XUH8pqEudTJ/l4mtWr6ugw=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_Almanac" , "GsHU22IdE1GMx+6eDcJoQ/+LJDJwLG3sovrPion7/68=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_AlmanacHighlight" , "7aHSIocT5JbGVTh7addi0+WrON9G6LPv2xmuDy/tPRg=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_Challenges_button" , "ljfdR00zwozWSwI85JwzGAGQgjXL1sCNpr/+juvcx0M=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_Challenges_highlight" , "hkii/10+OmfcVLNOB3ATpI5iHpPhw7mgiVRAs+kDsHc=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_Challenge_button" , "tf/14faCSFk7b9vFFn64FAAUpLGZVmfInI4K0Qmx9aM=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_Challenge_highlight" , "1ZC0zr0P3WkXzKvZ17YwkLID/6YYdTx9PZQimMSos6o=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_Help1" , "8OR4iqxkdQ3PsxbobY+JaN/w0lXNc2A+Kbec/VJ/QVY=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_Help2" , "i60mg9eK5WzjUA0iZfQtvDWq7HImRV14xNqfLzFmELo=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_Options1" , "YJZBgCXj/ZH4F8zPo+t4dAGmGMSiDAcybs2xuu1LTiw=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_Options2" , "yIbcIgBPjVP3JKNiF6dBPdJ90Yd+fKC+99KUjTfHOqQ=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_Quit1" , "hkDaVb8qUDLKPp1MIyGY6x4teZAVev56kjJ7KihPMss=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_Quit2" , "Tx8u8J/YpKF0lEd436EJfOMzXVzSWlsWDHBh5s73MU0=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_Vasebreaker_button" , "hn9D4J0aBhdrM23YNrZJXd2qbQrePLru5gCYBR34xgo=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_vasebreaker_highlight" , "+RQ4US+xJ23ieUzvO3sBzHJBEmCz5wZz7Gv6UmFjtdk=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_WoodSign1" , "78kL8cLZGoQdNcZjPbXFAkhN9A0zyCun8ieAOUvva3k=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_WoodSign2" , "Fkn7CvIOoeB8QrUUtj2HySgUg5ZR+zvry6jythPN2BY=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_WoodSign2_press" , "S2xZmAOn82/7uJ0q5Ej4tc59cheMme02Eb/CBjQjULI=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_ZenGarden" , "AE/8V2mkM15VErDDjg0g497fF4S3GYdSDRi9pDq0S+Q=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SelectorScreen_ZenGardenHighlight" , "KiN9KORVPhugq/laYeo+78CNeNW3CEVpVmi2J2WTNT8=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\SZW" , "4jkQn+T+/oceMqVHefAyo7G/8LQ/3jZuF41rnEaFVy8=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\thanks" , "aoTr0qV9HPJLz4WImY9FpU6mbB6Jy2WfOeXULgDWdlc=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\travel" , "MwowpcnQ4BXqoE6I8n2iP6ZzmVSMNaUpyBkPIkaI2hE=" },
|
||||
{ "Localization\\Japanese\\Textures\\Menu\\钥匙经典" , "FeQQRbKmP9uOZ37BtcHNjWH46zSe1tCrexTrnWcKX50=" },
|
||||
{ "Localization\\Japanese\\Textures\\Particles\\Doom" , "x/jlt63Ryze1+Dhjm9A1M65LkwrpuN0tTwn6wq7OtPg=" },
|
||||
{ "Localization\\Japanese\\Textures\\Particles\\ExplosionPowie" , "uEPr3YXyamejZGcJ9QYxkQ6GOnqK3Ddv5HsgBJCIyl0=" },
|
||||
{ "Localization\\Japanese\\Textures\\Particles\\ExplosionSpudow" , "4wZzRVJGrKmZDuJXuA8O/0mvLJS08DrhfWiRk6Arb/M=" },
|
||||
{ "Localization\\Japanese\\Textures\\Particles\\Sproing" , "pKet1LadsHBdq8mOR3IOtOngBHyfxdFLp2hipu8I4ZU=" },
|
||||
|
||||
{ "Localization\\Japanese\\Almanac\\LawnStringsTranslate" , "D4riwyc3qc5fWLhnspeXCgCip2cb5k1/t0PlEPJ7wdY=" },
|
||||
{ "Localization\\Japanese\\Almanac\\ZombieStringsTranslate" , "AzhgHGtIesVnO8aGJnpnY/C8+5eua2Z3wN887spfz7U=" },
|
||||
{ "Localization\\Japanese\\Almanac\\AchievementsTextTranslate" , "PAk0G69Abd/8mqXxsrg1dChYjb3/Hmgp2UD9fqVnqXw=" },
|
||||
|
||||
// Korean
|
||||
{ "Localization\\Korean\\Strings\\translation_regexs" , "zWV/cHF92F+GrFwlSkGXyep2jqBDG5LAiGwyDtcG2rU=" },
|
||||
{ "Localization\\Korean\\Strings\\translation_strings" , "qXdtfjxdZcK4Oe6ptsZd3Vg4rIavfM06ZkmMfmR8G1M=" },
|
||||
|
||||
{ "Localization\\Korean\\Textures\\Game\\FinalWave" , "7I9i/6CVcPOhoL2n3/NUNOedbaIyQqlsj5U+jVQauu4=" },
|
||||
{ "Localization\\Korean\\Textures\\Game\\FlagMeterLevelProgress" , "yMpBQDYecmFimlzSnsO8vdyEPp0Q6O5lAg0DWFS1m6M=" },
|
||||
{ "Localization\\Korean\\Textures\\Game\\StartPlant" , "yGZNl/ELOvk/XqMp5pIhwrSLkAa/T+2pWcYb/tVC8CY=" },
|
||||
{ "Localization\\Korean\\Textures\\Game\\StartReady" , "aNTSN8/FwAmu63eHs7wzdoDCnw3h3KWQ4SCiPtBoTdQ=" },
|
||||
{ "Localization\\Korean\\Textures\\Game\\StartSet" , "PcrGZLSUL2xrPGTMzZJBc/xC05UdlWoCeHP8vNm8BjQ=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\NewAdv" , "LidoBW/vXZhokFRjg8MRy7daY4wehQ9vd3dBLwTsFLU=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_Adventure_button" , "XvILct+pOLn9Ke3VvtlZPo4Zpob6wgAaNwb5w1+i3z0=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_Adventure_highlight" , "WTyEd+cIWl3fBF1guKAQuMvDdMDwFnsgyZXoklVRTdg=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_Almanac" , "7DLBjkU41YWjh6up42n+2DU+UU4jzBcuCyIjoIQhK1E=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_AlmanacHighlight" , "1oUnvwRL6Jr+AwwXJKAB/jcmpWl+0UP69js6vIKZ9uY=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_Challenges_button" , "qoPxgGKWuHKCg3pEmvkauWfmXFZWR0spWcoK6AvLysc=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_Challenges_highlight" , "840p+IAAw8KPwkoNmvcWcOWwhpTzTtcLixzWr+MunS0=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_Challenge_button" , "FwlC3AOwWWeiqereusDpkRatqnKKN3c/xq5iPAhVo5Q=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_Challenge_highlight" , "RZPSyMMXOr7W5aOWcr5xSR9XiANkWWVk6/OUnxxpUpI=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_Help1" , "Akybqv0glw81aMYpGoosQ3PR7Ukhq+cD+ZlEUkLC5Yw=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_Help2" , "6RZFnrYjpZM932niXc1qmRtAJm97GlDHzh3Q9c1u5b0=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_Options1" , "D7hYM4ZPRbA395EUkLhG4jf7lfJqSUalp7oZJQ9/BEs=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_Options2" , "1Z3SHvyiFsK7Wy9I2tFONcVYjF50Ho4L2+CbePFqng8=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_Quit1" , "eD9BNRKQU7qei+eAsCSIidMwvwEhuBLPcpZkb/Q/Ag8=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_Quit2" , "scNdtWjkMrgtwBdXiS809HfOY+2+ycPqUAgH6RcFOfk=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_Vasebreaker_button" , "QPWZp3PBXeJK8y9Pu7euFoRNVsywdr5tCC6gOsKmlL8=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_vasebreaker_highlight" , "VGJtLoUZ4+EYlQUMHSOAUFYPwFr30w5/NLyl0G4Ba2Q=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_WoodSign1" , "CPf6iaNv3ftvdOMQwm/gJ8hXE/13KeS+GHzEBl6DrpM=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_WoodSign2" , "8Lr0ONZOInR+ZHz9ZQHHdr6e4jkARbxkDIm181Q/yWM=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_WoodSign2_press" , "8JALSm+TKjNzIAtOd6DXJjkjc0bqEBXhPqlTO6sKZ0c=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_ZenGarden" , "b8bJJeKpQJhesrxy3c3JconWq1RJkMwkOBOi1JcKkUA=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SelectorScreen_ZenGardenHighlight" , "CwZAzOBJFFY9AG2tvPN58JggPNNEws9zEbcgMlsWEpc=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\SZW" , "ONrElpWA/7WkJq833t+slKToiieJtZhbz2dv2QSuQB0=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\thanks" , "HYnZf9x5uNG5tu5jga94X9+rILjt40bnKSR1qjkXF8M=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\travel" , "T/ngmCI6ilQ6k/pV2XZloY5OICc0bbKz0iwg/mcXpPw=" },
|
||||
{ "Localization\\Korean\\Textures\\Menu\\钥匙经典" , "iO5Z+/6R8Pz1GoIh+TX5KWkCFJsOxfYYrMSV//9UJ34=" },
|
||||
{ "Localization\\Korean\\Textures\\Particles\\Doom" , "FqBUBeIvzyyXL+cqO4Fi6CKI5gZW5QXfHYPTOYoeteM=" },
|
||||
{ "Localization\\Korean\\Textures\\Particles\\ExplosionPowie" , "cuikfX+3LOtSw3EPB6DnjANO5bKkoYCMdWSm+StmW70=" },
|
||||
{ "Localization\\Korean\\Textures\\Particles\\ExplosionSpudow" , "4pJ/gZsuKRsAbUL1YWsaaJC9NxrzhqUiQe6glK07ydU=" },
|
||||
{ "Localization\\Korean\\Textures\\Particles\\guang" , "kh0dcDxOXgh8+Eq1TmKdJug5PdR+nzZrK5iS5Nkw7Gw=" },
|
||||
{ "Localization\\Korean\\Textures\\Particles\\Sproing" , "WtzrUuUsjp/GmOfoHApij3VLMn+Tr5qUZ6GGqqhUyD0=" },
|
||||
{ "Localization\\Korean\\Textures\\Particles\\SunExplosionPowie" , "3bSjOYpanuLnsl58oYUzOAXt94nony6Drq8qdpfRSGQ=" },
|
||||
|
||||
{ "Localization\\Korean\\Almanac\\LawnStringsTranslate" , "KRMiSTM91FoCR9sTGJU6hvsh0+sBMyHfqXwTSSea27M=" },
|
||||
{ "Localization\\Korean\\Almanac\\ZombieStringsTranslate" , "xHI2LAW0JSEZN010GZPhPB60N0Csfbev2Mk5RwWFYyQ=" },
|
||||
{ "Localization\\Korean\\Almanac\\AchievementsTextTranslate" , "J4/ZjY7vFNvwsMBx5eIwP7syuLD/+D7OaTY+YbUnq6s=" },
|
||||
|
||||
// Custom Textures
|
||||
{ "[Custom Textures]\\Almanac_GroundDay" , "ruvrVDVaICj+5PzN5FIcLTma+GtTb2AuKkHA42jTVBw=" },
|
||||
{ "[Custom Textures]\\Almanac_GroundNight" , "uwrsmHM/IFY1n+AkYYmgEhoWRoaefOjP6sQMCWLtJ2s=" },
|
||||
{ "[Custom Textures]\\Almanac_GroundNightPool" , "MQrZAvJDWs7k0c8cQjeNp5WNfB1Yns54Wqib63Glhsg=" },
|
||||
{ "[Custom Textures]\\Almanac_GroundPool" , "fgHaxsX/KUXzAuRTLE7itRtmjPJ8YPo01Sy6Y2O5XWU=" },
|
||||
{ "[Custom Textures]\\Almanac_PlantCard" , "1Spu2IG3EoCLn0MhAwMxydN2E8xcffFVfnKGk0KowLY=" },
|
||||
{ "[Custom Textures]\\Almanac_ZombieBack" , "PUxcz+EA7ehsPkyA3gsicvaANh+7vX56yKbrCNFd8cI=" },
|
||||
{ "[Custom Textures]\\Almanac_ZombieCard" , "S3QeUIrxZ3BJiovEyHBz0AYIoVzT2mQ1JA5hN3Ke8B0=" },
|
||||
{ "[Custom Textures]\\Almanac_ZombieWindow" , "0JHTUpc1HdZ8/s/4NVKnchFmyrUaXgTgv3kUwS18zKo=" },
|
||||
{ "[Custom Textures]\\Almanac_ZombieWindow2" , "NA9+T0M/4BihrNsGQVQCyxX2IO8xuyIKCm1PT6aB/vc=" },
|
||||
{ "[Custom Textures]\\CursorClick" , "cELLXJkEQM+ULhcuL3GXdJ6Lw9iJF0grx3NuSfI3iGE=" },
|
||||
{ "[Custom Textures]\\CursorDefault" , "AfBSPF65+ZXswrGKH5NRB/b5oa4WR5vuIet3xQ9/hqc=" },
|
||||
{ "[Custom Textures]\\plant" , "JqOyre0JXBHjvWqUafUaBEfym62ZVhte6sP68TDn4xQ=" },
|
||||
{ "[Custom Textures]\\SeedChooser_Background" , "RBVMr9F/IJiTVV9G9iZyUQguN6c+fQGb1BUoyuAKbyY=" },
|
||||
{ "[Custom Textures]\\seedfog" , "l4gO/839bvGY3zk1/JPHPrZiD5sqVq0dCnCflUr/ilQ=" },
|
||||
{ "[Custom Textures]\\seedp" , "amr82tmtplngahLPlu4wdPlq5adTKqUMXZoZ9qJ6u1U=" },
|
||||
{ "[Custom Textures]\\SeedPacketSilhouette" , "W6vow+euXzdwjAufkJuRtdaIEiEPmbeeOkOHiQBNmHA=" },
|
||||
{ "[Custom Textures]\\SeedPacket_Larger" , "+TZxcpkpyz49vmlkTAYyohpQuneLwrw1eJdYpbN6wAs=" },
|
||||
{ "[Custom Textures]\\SeedPacket_Night" , "0pv9hCIOuoj9wfH2FP18kNwLkYUz0wuxVs3zl3OiHC0=" },
|
||||
{ "[Custom Textures]\\SeedPacket_Other" , "Y/xlegVxGFn6Dt1nsDAEFSnslM3lyQ6WyCSl7RfwA5k=" },
|
||||
{ "[Custom Textures]\\SeedPacket_Pool" , "4m5EDn8xfUtrZ/qENCISIRbZVQEjgk9UN1//AelB1Tw=" },
|
||||
{ "[Custom Textures]\\seedroof" , "z9o/8qUJkgtys4WmPRvCt/wJz056+0Fjvfvk6pHwbLo=" },
|
||||
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\CursorClick" , "4sKy7/xqFJqS/HVR1jUgMNvcPQdv6argIePfdcRhoIk=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\CursorDefault" , "zuNjht1GXgF/fOKCnW7KnOOaccjHRDB9m6giJvkKz1Q=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\garden_new" , "siziOyP+M2D5mI5ugtsjNI1O+zKcRqlHBDGrnSU1EV4=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\Present" , "glh2PeOuG8W1jQBiX8Xh0/4owPMGxFFXdOIc2siZ8Uo=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\PresentOpen" , "9DQZ4GIEeqoATt6MA55HEvQrBueZ3FN9raMdqOIhOUI=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\PresentOpenZ" , "BORx+RuCJUu8FLzDqdZcBFKFzMDbKB0KDZIkk4SnEmM=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\PresentZ" , "3VQDMgCU5gz1uGzQzRSatXOHd50q9nHozgkicb9wEQU=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\SeedBank" , "ffJswlQikAaPhUily+jKz59tjUUsysRTyPetub7pVw4=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\SeedChooser_Background" , "Z3jzRdTSxhpLU9HqeYhcDz+CfP1SerwzYteBh2gEX8M=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\seeds" , "Yaqa1lY4mMxmksslr1WjcV3vYAwrcLT6AVVHEvHS6Mw=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\SelectorScreen_Leaf1" , "wAoIJKiNxAuEkhFW9QjUAXCbdQmq0Q5DtztG+1VWjig=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\SelectorScreen_Leaf2" , "hRe+ceHzLid2ltXXaJsfLg3YHkb0xSwvgFh62XqUnpg=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\SelectorScreen_Leaf3" , "sU5tHuXpjZGsDd0I5BMPmsHj0W4flayrCEhr36iudp8=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\SelectorScreen_Leaf4" , "UnezQl5tm4gUZ3DwYCzRM85siS2dZWuo0HHx09fc/LU=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\SelectorScreen_Leaf5" , "a73hDOb3r3gZAgpklCB2EkFjUaUbKJBXKhGT3tYosP0=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\SelectorScreen_Leaves" , "ll3lRI+y441evcV9CJoFufhI5VQeC2eIew9AFSW8xEU=" },
|
||||
{ "Localization\\Spanish\\Textures\\[Custom Textures]\\ShovelBank" , "DUCNzvvDjIp8Kr8Clyx4eWwApiHiD8RmP+W05Mre+fI=" },
|
||||
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\Almanac_GroundDay" , "HqSlvHQOonZvcid0jFZAj7az/P8uwKXZMT4Ukwyc8j0=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\Almanac_GroundNight" , "qt947+pENaA91x4lYAYsNLcR6Xd6I1vNh/USyk45arw=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\Almanac_GroundNightPool" , "A92M4I2N2OfpN/y4R40ATVBrI2U+StgZQjIr0iVCEeU=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\Almanac_GroundPool" , "AmrvO/C5ggUeHr5+WOh16GWJ0jM1nXR+Vj/A87CRZ3U=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\Almanac_GroundRoof" , "ftdvDcMiDrdIBIoOTcxU6b9qT+GmPEkH2+tG2HA8blk=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\Almanac_PlantCard" , "1Spu2IG3EoCLn0MhAwMxydN2E8xcffFVfnKGk0KowLY=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\Almanac_ZombieBack" , "PUxcz+EA7ehsPkyA3gsicvaANh+7vX56yKbrCNFd8cI=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\Almanac_ZombieCard" , "S3QeUIrxZ3BJiovEyHBz0AYIoVzT2mQ1JA5hN3Ke8B0=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\Almanac_ZombieWindow" , "0JHTUpc1HdZ8/s/4NVKnchFmyrUaXgTgv3kUwS18zKo=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\Almanac_ZombieWindow2" , "NA9+T0M/4BihrNsGQVQCyxX2IO8xuyIKCm1PT6aB/vc=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\plant" , "Q5VaxJhSrv/z55FH7YmLBovhYV3zLux887J0IdOpwnc=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\SeedChooser_Background" , "jnVWbr791bRlpO5CYQ5ZC2WPH4d7j8O4ODW41hA88nk=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\seedfog" , "fyjLtioDqCumbQuOl+4jgUYFqK+cATeOzoNl1qgRttI=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\seedp" , "8qE/ZB7wdjFq6bNr6jWeCsVhhUD+JWORmpXryejDmjI=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\SeedPacketSilhouette" , "W6vow+euXzdwjAufkJuRtdaIEiEPmbeeOkOHiQBNmHA=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\SeedPacket_Larger" , "TtCGi5F02Qx/ix9OXY86bMNjHCdch1E7De9wMTp3JIs=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\SeedPacket_Night" , "3QSOoNwMue9tK30JgCea/K2pGDlDv+Ibhp0NKRoZHN0=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\SeedPacket_Other" , "7tjrV9SIzPaSEpMspdF7tKANXMu6ggeuj4XSy/UVACM=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\SeedPacket_Pool" , "U4zfEwx/0mUqIgUYvuQ10T+tWTqJ54V3RUJiA1+FJts=" },
|
||||
{ "Localization\\Portuguese\\Textures\\[Custom Textures]\\seedroof" , "1W6A3m32iSQZ5WhJHK11tys1OQOvYLgdNGlUOe7wgnY=" },
|
||||
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\Almanac_IndexBack" , "S8wmWen4Za178Mkwwu8DJkKvvB2c2CRJbaRjIW/zvhw=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\Almanac_PlantCard" , "O2UWyplpXK69pTFXYDSA5KiRyKAZ22LCDN71GIb5ZDg=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\Almanac_ZombieBack" , "L91uR40W1iPLqBd+ouENStDe9RN+xUOZtbF048MiD1U=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\Almanac_ZombieCard" , "3QvRtOtCpI6sqh26+Zbr9vTR9RB8oSXy4m7iS2snZUI=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\Almanac_ZombieWindow" , "+LHsQLlwsYWEVS11F+SustquGoxjbGiyrs58XwyeYMw=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\Almanac_ZombieWindow2" , "e51IJA1bz9dDEvmXtO6CeL6/M6KMXDvojCbTz2MtnLk=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\garden_new" , "WxH9rTrIHkmQeu0ALKfFuI6JvXo1uKQlwvgIc72+lhI=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\plant" , "ZkLNZASMXf7P0621AH2sFm3rbulCrs7otMLrrxiaqsA=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\SeedBank" , "+5f20e56ArqQ3Mt2BXtpSM2vO7SV+mWOzIBalIEh4Ew=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\SeedChooser_Background" , "kjv++O/zFxvPVoObxFTLXsH2MIp3zae4UJ8zu8kVOhY=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\SeedChooser_Button" , "9d5FghH0XRShLwjivvcKtVqmlOQLZC/RqfT+Urv8PJo=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\SeedChooser_Button_Disabled" , "iTsQO62+/80kG4jELlTnB/AXA8wvQKnqCgvQS4pDVlY=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\SeedChooser_Button_Glow" , "cFJCF740SGrFKt7c5OOAcRSVdW5ZZ6sBuE+T3JSwgOU=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\seedfog" , "JFjRJErflXFgxgxXXGHr6fjLaVIpoYSS0hlWa5Fi09c=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\seedlinkage" , "3IAYdQXkrWvDMBpg5Zw4ZRU39zuY9OAd3lVhwp07aMk=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\seedp" , "oaPa7rvvRy+pP3yUvA82hSNJ9/LQIZ+RVGPfCYvaLUg=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\SeedPacketSilhouette" , "ca+mkPyRnAjVIZZRieUCHFV2t3qiJnX2YQnd/z3iTvs=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\SeedPacket_Larger" , "mFoaC4FBXiufdw/aG0SCLlxzpE1umDx3robELsUPhi8=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\SeedPacket_Night" , "KZEvxdx4nQnrYVPv8FY4DbVDAQBCjlllMnxXQHJ1gkE=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\SeedPacket_Other" , "EP7WPPrYdZvxAhRig/FBJWHEw67amJuOO9JO0Kqzh14=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\SeedPacket_Pool" , "8eLUx9OWZORq3ItJcbQltcsyc6oPAW9PThEHoul/LY0=" },
|
||||
{ "Localization\\Javanese\\Textures\\[Custom Textures]\\seedroof" , "HhNxpjbMgvt2FZdZZ7kfl546x6+5B4B97DgSH80wkMg=" },
|
||||
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\Almanac_IndexBack" , "DagukR2bViPz88Iu2B5w4QDMs4ykui/BYdk+lyaTK2o=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\Almanac_PlantCard" , "O2UWyplpXK69pTFXYDSA5KiRyKAZ22LCDN71GIb5ZDg=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\Almanac_ZombieBack" , "L91uR40W1iPLqBd+ouENStDe9RN+xUOZtbF048MiD1U=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\Almanac_ZombieCard" , "3QvRtOtCpI6sqh26+Zbr9vTR9RB8oSXy4m7iS2snZUI=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\Almanac_ZombieWindow" , "+LHsQLlwsYWEVS11F+SustquGoxjbGiyrs58XwyeYMw=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\Almanac_ZombieWindow2" , "e51IJA1bz9dDEvmXtO6CeL6/M6KMXDvojCbTz2MtnLk=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\garden_new" , "WxH9rTrIHkmQeu0ALKfFuI6JvXo1uKQlwvgIc72+lhI=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\plant" , "ZkLNZASMXf7P0621AH2sFm3rbulCrs7otMLrrxiaqsA=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\SeedBank" , "+5f20e56ArqQ3Mt2BXtpSM2vO7SV+mWOzIBalIEh4Ew=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\SeedChooser_Background" , "kjv++O/zFxvPVoObxFTLXsH2MIp3zae4UJ8zu8kVOhY=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\SeedChooser_Button" , "9d5FghH0XRShLwjivvcKtVqmlOQLZC/RqfT+Urv8PJo=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\SeedChooser_Button_Disabled" , "iTsQO62+/80kG4jELlTnB/AXA8wvQKnqCgvQS4pDVlY=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\SeedChooser_Button_Glow" , "cFJCF740SGrFKt7c5OOAcRSVdW5ZZ6sBuE+T3JSwgOU=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\seedfog" , "JFjRJErflXFgxgxXXGHr6fjLaVIpoYSS0hlWa5Fi09c=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\seedlinkage" , "3IAYdQXkrWvDMBpg5Zw4ZRU39zuY9OAd3lVhwp07aMk=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\seedp" , "oaPa7rvvRy+pP3yUvA82hSNJ9/LQIZ+RVGPfCYvaLUg=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\SeedPacket_Larger" , "mFoaC4FBXiufdw/aG0SCLlxzpE1umDx3robELsUPhi8=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\SeedPacket_Night" , "KZEvxdx4nQnrYVPv8FY4DbVDAQBCjlllMnxXQHJ1gkE=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\SeedPacket_Other" , "EP7WPPrYdZvxAhRig/FBJWHEw67amJuOO9JO0Kqzh14=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\SeedPacket_Pool" , "8eLUx9OWZORq3ItJcbQltcsyc6oPAW9PThEHoul/LY0=" },
|
||||
{ "Localization\\Indonesian\\Textures\\[Custom Textures]\\seedroof" , "HhNxpjbMgvt2FZdZZ7kfl546x6+5B4B97DgSH80wkMg=" },
|
||||
#endif
|
||||
};
|
||||
|
||||
static string GetCheckSum(string filename)
|
||||
|
|
@ -88,7 +836,6 @@ namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
|||
return false;
|
||||
}
|
||||
|
||||
#if MELON
|
||||
public static void ConvertMD5Json()
|
||||
{
|
||||
string stringDir = GetAssetDir(AssetType.Dumps);
|
||||
|
|
@ -110,6 +857,6 @@ namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
|||
|
||||
Log.LogDebug($"MD5.json converted to MD5Convert.json at {checksumConvertPath}");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
using PvZ_Fusion_Translator;
|
||||
using TMPro;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using TMPro;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
||||
{
|
||||
|
|
@ -13,6 +12,8 @@ namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
|||
internal static void Init()
|
||||
{
|
||||
string fontsDir = Path.Combine(Core.Instance.modsDirectory, "[Custom Fonts]");
|
||||
|
||||
#if MULTI_LANGUAGE
|
||||
foreach (string file in Directory.GetFiles(fontsDir))
|
||||
{
|
||||
string fileName = Path.GetFileNameWithoutExtension(file);
|
||||
|
|
@ -32,7 +33,14 @@ namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
InitFallback();
|
||||
#else
|
||||
string defaultFontDir = Path.Combine("PvZ_Fusion_Translator", "[Custom Fonts]", "English.ttf");
|
||||
|
||||
TMP_FontAsset defaultFont = FontHandler.LoadTMPFont(defaultFontDir, true);
|
||||
fontAssetDict.Add("English", defaultFont);
|
||||
#endif
|
||||
}
|
||||
|
||||
internal static void InitFallback()
|
||||
|
|
@ -69,6 +77,8 @@ namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
|||
}
|
||||
else
|
||||
fontAssetDictSecondary.Add(fileNameLanguage, fallbackFont);
|
||||
|
||||
// Log.LogInfo($"Fallback font for language '{fileNameLanguage}' loaded");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -104,14 +114,29 @@ namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
#if MULTI_LANGUAGE
|
||||
public static TMP_FontAsset LoadTMPFont(string language)
|
||||
{
|
||||
if (fontAssetDict.TryGetValue(language, out TMP_FontAsset font))
|
||||
{
|
||||
return font;
|
||||
TMP_FontAsset fontAsset = font;
|
||||
if (fontAsset.fallbackFontAssetTable != null)
|
||||
{
|
||||
// Log.LogInfo("Fallback font for language '" + language + "' loaded. The name of the FB Font is" + fontAsset.fallbackFontAssetTable[0].name);
|
||||
}
|
||||
return fontAsset;
|
||||
}
|
||||
return fontAssetDict.GetValueOrDefault("English");
|
||||
}
|
||||
#else
|
||||
public static TMP_FontAsset LoadTMPFont()
|
||||
{
|
||||
TMP_FontAsset defaultFont = fontAssetDict["English"];
|
||||
return defaultFont;
|
||||
}
|
||||
#endif
|
||||
|
||||
public static TMP_FontAsset LoadTMPFontAlmanac(string language)
|
||||
{
|
||||
if (fontAssetDictSecondary.ContainsKey(language))
|
||||
|
|
@ -128,9 +153,11 @@ namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
|||
return almanacAsset;
|
||||
}
|
||||
}
|
||||
|
||||
return fontAssetDict.GetValueOrDefault("English");
|
||||
}
|
||||
|
||||
#if MULTI_LANGUAGE
|
||||
public static void Reload()
|
||||
{
|
||||
// Get the current language
|
||||
|
|
@ -139,5 +166,7 @@ namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
|||
// Load the font for the current language
|
||||
_ = LoadTMPFont(currentLanguage);
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,6 +1,7 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
using System.IO;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
||||
{
|
||||
|
|
@ -13,7 +14,9 @@ namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
|||
internal static void Reload()
|
||||
{
|
||||
textureDict.Clear();
|
||||
#if MULTI_LANGUAGE
|
||||
RestoreTextures();
|
||||
#endif
|
||||
FileLoader.LoadDefaultTextures();
|
||||
FileLoader.LoadTextures();
|
||||
}
|
||||
|
|
@ -39,6 +42,7 @@ namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
|||
}
|
||||
}
|
||||
|
||||
#if MULTI_LANGUAGE
|
||||
public static void RestoreTextures()
|
||||
{
|
||||
Texture2D[] textures = Resources.FindObjectsOfTypeAll<Texture2D>();
|
||||
|
|
@ -50,6 +54,7 @@ namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public static void LogAll()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,11 +1,16 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.TextCore.Text;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
||||
{
|
||||
public static class WarningStore
|
||||
{
|
||||
#if MULTI_LANGUAGE
|
||||
private static Dictionary<string, (string, string)> warningMessages = new()
|
||||
{
|
||||
{ "English", ("<size=10>The only valid source of this translation is from this community:\n" +
|
||||
|
|
@ -90,8 +95,33 @@ namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
|||
"Aja nyedhaki sumber liya amarga bisa ngandhut virus. Mangga\n" +
|
||||
"ngunjungi komunitas kita kanggo nganyari ing mangsa ngarep.</size>",
|
||||
"Oke! Ngertos.") },
|
||||
{ "Polish" , ("<size=8>Jedynym wiarygodnym źródłem tego tłumaczenia jest ta społeczność:\n" +
|
||||
"<color=#64DD17>discord.gg/DPAC5ZVJ8T</color>. Jeśli znalazłeś to <i>gdziekolwiek</i> indziej, np. \n" +
|
||||
"<color=#8B0000>Plants Hybrid</color> i <color=#8B0000>superhybrid.online</color>, ukradli to.\n" +
|
||||
"Omijaj inne źródła, ponieważ mogą zawierać wirusy.\n" +
|
||||
"Odwiedź naszą społeczność, aby uzyskać przyszłe aktualizacje.</size>",
|
||||
"Okay! Rozumiem.") },
|
||||
{ "Hungarian" , ("<size=8>Ennek a fordításnak az egyetlen érvényes forrása ebből a közösségből származik:\n" +
|
||||
"<color=#64DD17>discord.gg/DPAC5ZVJ8T</color>. Ha ezt <i>valahol</i> máshol szerezted, például \n" +
|
||||
"<color=#8B0000>Plants Hybrid</color> és <color=#8B0000>superhybrid.online</color> oldalakon, akkor ők lopták.\n" +
|
||||
"Kerüld a többi forrást, mert vírusokat tartalmazhatnak.\n" +
|
||||
"Kérjük, látogass el közösségünkbe a jövőbeli frissítésekért.</size>",
|
||||
"Oké! Értem.") },
|
||||
{ "Arabic" , ("<size=10>The only valid source of this translation is from this community:\n" +
|
||||
"<color=#64DD17>discord.gg/DPAC5ZVJ8T</color>. If you got this <i>anywhere</i> else like \n" +
|
||||
"<color=#8B0000>Plants Hybrid</color> and <color=#8B0000>superhybrid.online</color>, they stole it.\n" +
|
||||
"Stray away from other sources as they may contain viruses.\n" +
|
||||
"Please visit our community for future updates.</size>",
|
||||
"Okay! Got it.") },
|
||||
// { "OTHER" , ("<size=10>A única fonte válida dessa tradução é desta\ncomunidade: <color=#64DD17>discord.gg/DPAC5ZVJ8T</color>. Se você obteve \nisso <i>em qualquer lugar</i> como <color=#8B0000>Plants Hybrid</color>\ne <color=#8B0000>superhybrid.online</color>,ou Blue Fly do Youtube,\nelses roubaram. Fique longe de sites falsos. Por favor,\nvisite nossa comunidade para futuras atualizações.</size>", "¡Okei! Entendido.") }
|
||||
// { "OTHER" , ("<size=9.5>Ang translation na ito ay galing dito lamang:\n<color=#64DD17>discord.gg/DPAC5ZVJ8T</color>. Pag nakuha niyo ito <i>sa iba pa</i>\nkagaya ng <color=#8B0000>Plants Hybrid</color> o <color=#8B0000>superhybrid.online</color>, anumang\nginawagawa ng <color=#8B0000>Blue Fly mula sa Youtube</color>, o anumang\n<color=#8B0000>Sub2Unlock links</color>, scam sila. MAG INGAT dahil\nkasi baka may virus 'jan. Join kayo sa discord namin!\nFilipino Translation by ColinPogi</size>" , "Tayo magsi-laro!") }
|
||||
};
|
||||
#else
|
||||
public static string warningMessage = "<size=10>La única fuente válida de esta traducción proviene de esta\ncomunidad: <color=#64DD17>discord.gg/DPAC5ZVJ8T</color>. Si la obtuvo <i>en cualquier</i>\notro lugar como <color=#8B0000>Plants Hybrid</color> o <color=#8B0000>superhybrid.online</color>, la robaron.\nManténgase alejado de otras fuentes, ya que podrían contener virus.\nPor favor, visite nuestra comunidad para futuras actualizaciones.";
|
||||
public static string okayButton = "¡Entendido!";
|
||||
#endif
|
||||
|
||||
#if MULTI_LANGUAGE
|
||||
public static (string, string) GetWarningMessage(Utils.LanguageEnum language)
|
||||
{
|
||||
if (warningMessages.TryGetValue(language.ToString(), out var message))
|
||||
|
|
@ -104,36 +134,57 @@ namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
|||
return warningMessages["English"]; // Default to English if language code is not found
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public static void WarningLoad()
|
||||
public static void WarningLoad(NoticeMenu noticeMenu)
|
||||
{
|
||||
GameAPP.theGameStatus = -2;
|
||||
GameObject gameObject = UnityEngine.Object.Instantiate<GameObject>(Resources.Load<GameObject>("UI/MainMenu/HelpMenu"), GameAPP.canvas.transform);
|
||||
gameObject.name = "WarningMessage";
|
||||
TextMeshProUGUI warning = gameObject.transform.GetChild(0).GetChild(0).GetComponent<TextMeshProUGUI>();
|
||||
TextMeshProUGUI warningShadow = gameObject.transform.GetChild(0).GetChild(1).GetComponent<TextMeshProUGUI>();
|
||||
Transform button = gameObject.transform.GetChild(1);
|
||||
warning.transform.position = new Vector3(0.7f, 0.4f, 0f);
|
||||
warningShadow.transform.position = new Vector3(0.7f, 0.4f, 0f);
|
||||
//GameAPP.theGameStatus = GameStatus.OpenOptions;
|
||||
//GameObject gameObject = UnityEngine.Object.Instantiate<GameObject>(Resources.Load<GameObject>("UI/Prefabs/NoticePauseMenu"), GameAPP.canvas.transform);
|
||||
//gameObject.name = "WarningMessage";
|
||||
//TextMeshProUGUI warning = gameObject.transform.GetChild(0).GetChild(0).GetComponent<TextMeshProUGUI>();
|
||||
//TextMeshProUGUI warningShadow = gameObject.transform.GetChild(0).GetChild(1).GetComponent<TextMeshProUGUI>();
|
||||
//Transform button = gameObject.transform.GetChild(1);
|
||||
//warning.transform.position = new Vector3(0.7f, 0.4f, 0f);
|
||||
//warningShadow.transform.position = new Vector3(0.7f, 0.4f, 0f);
|
||||
|
||||
#if MULTI_LANGUAGE
|
||||
var (warningMessage, okayButton) = WarningStore.GetWarningMessage(Utils.Language);
|
||||
|
||||
warning.text = warningMessage;
|
||||
warningShadow.text = warningMessage;
|
||||
warning.font = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
warningShadow.font = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
Transform warningTransform = noticeMenu.transform.FindChild("窗口");
|
||||
Transform warningTextTransform = warningTransform.FindChild("文字");
|
||||
Transform warningTextShadowTransform = warningTransform.FindChild("文字2");
|
||||
|
||||
button.GetComponent<PauseMenu_Btn>().buttonNumber = 10;
|
||||
button.GetChild(0).GetComponent<TextMeshProUGUI>().text = okayButton;
|
||||
button.GetChild(0).GetComponent<TextMeshProUGUI>().font = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
button.GetChild(1).GetComponent<TextMeshProUGUI>().text = okayButton;
|
||||
gameObject.SetActive(false);
|
||||
gameObject.SetActive(true);
|
||||
Transform[] array = [warningTextTransform, warningTextShadowTransform];
|
||||
|
||||
for (int i = 0; i < array.Length; i++)
|
||||
{
|
||||
if (array[i] != null)
|
||||
{
|
||||
array[i].GetComponent<TextMeshProUGUI>().text = warningMessage;
|
||||
array[i].GetComponent<TextMeshProUGUI>().font = fontAsset;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
//warning.text = warningMessage;
|
||||
//warningShadow.text = warningMessage;
|
||||
//warning.font = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
//warningShadow.font = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
//button.GetComponent<PauseMenu_Btn>().buttonNumber = 10;
|
||||
//button.GetChild(0).GetComponent<TextMeshProUGUI>().text = okayButton;
|
||||
//button.GetChild(0).GetComponent<TextMeshProUGUI>().font = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
//button.GetChild(1).GetComponent<TextMeshProUGUI>().text = okayButton;
|
||||
//gameObject.SetActive(false);
|
||||
//gameObject.SetActive(true);
|
||||
}
|
||||
|
||||
#if MULTI_LANGUAGE
|
||||
|
||||
public static bool isWarningMessageLoaded = false;
|
||||
|
||||
public static void WarningReload(Utils.LanguageEnum language)
|
||||
public static void WarningReload(Utils.LanguageEnum language, NoticeMenu noticeMenu)
|
||||
{
|
||||
// Log.LogInfo("Current Language is " + Utils.OldLanguage);
|
||||
// Log.LogInfo("Changed Language to " + language);
|
||||
|
|
@ -144,11 +195,24 @@ namespace PvZ_Fusion_Translator__BepInEx_.AssetStore
|
|||
}
|
||||
if (!isWarningMessageLoaded)
|
||||
{
|
||||
WarningLoad();
|
||||
WarningLoad(noticeMenu);
|
||||
isWarningMessageLoaded = true;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
#else
|
||||
|
||||
public static bool isWarningMessageLoaded = false;
|
||||
|
||||
public static void WarningReload()
|
||||
{
|
||||
if (!WarningStore.isWarningMessageLoaded)
|
||||
{
|
||||
WarningStore.WarningLoad();
|
||||
WarningStore.isWarningMessageLoaded = true;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
using BepInEx;
|
||||
using BepInEx.Configuration;
|
||||
using BepInEx.Logging;
|
||||
using BepInEx.Unity.IL2CPP;
|
||||
using BepInEx.Unity.IL2CPP.Utils;
|
||||
using HarmonyLib;
|
||||
|
|
@ -19,6 +20,8 @@ public class Core : BasePlugin
|
|||
private static DateTime dtStart;
|
||||
private static DateTime? dtStartToast;
|
||||
private static string toast_txt;
|
||||
|
||||
public static ManualLogSource Log;
|
||||
public static Core Instance { get; private set; }
|
||||
public static MonoBehaviour MonoInstance { get; private set; }
|
||||
|
||||
|
|
@ -30,6 +33,7 @@ public class Core : BasePlugin
|
|||
|
||||
public override void Load()
|
||||
{
|
||||
Log = base.Log;
|
||||
Instance = this;
|
||||
MonoInstance = AddComponent<UnityCoroutineHelper>();
|
||||
Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly());
|
||||
|
|
@ -37,7 +41,7 @@ public class Core : BasePlugin
|
|||
|
||||
FileLoader.LoadLanguage();
|
||||
|
||||
// AudioStore.Init();
|
||||
AudioStore.Init();
|
||||
TextureStore.Init();
|
||||
StringStore.Init();
|
||||
FontStore.Init();
|
||||
|
|
@ -62,7 +66,6 @@ public class Core : BasePlugin
|
|||
}
|
||||
public void InitCoroutine()
|
||||
{
|
||||
if (replaceTextureRoutine != null) return;
|
||||
replaceTextureRoutine = MonoInstance.StartCoroutine(TextureStore.ReplaceTexturesCoroutine());
|
||||
Log.LogDebug("Coroutine Started");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ using System.IO;
|
|||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator
|
||||
namespace PvZ_Fusion_Translator__BepInEx_
|
||||
{
|
||||
public static class FontHandler
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,25 +1,34 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using System;
|
||||
using TMPro;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.BaseTextObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(InGameText))]
|
||||
public static class InGameText_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(InGameText.EnableText), new Type[] { typeof(string), typeof(float), typeof(bool) })]
|
||||
[HarmonyPatch(nameof(InGameText.ShowText), new Type[] { typeof(string), typeof(float), typeof(bool) })]
|
||||
[HarmonyPrefix]
|
||||
private static void EnableText(InGameText __instance, ref string text) => text = StringStore.TranslateText(text, true);
|
||||
private static void ShowText(InGameText __instance, ref string text) => text = StringStore.TranslateText(text, true);
|
||||
|
||||
[HarmonyPatch(nameof(InGameText.EnableText), new Type[] { typeof(string), typeof(float), typeof(bool) })]
|
||||
[HarmonyPatch(nameof(InGameText.ShowText), new Type[] { typeof(string), typeof(float), typeof(bool) })]
|
||||
[HarmonyPostfix]
|
||||
private static void EnableText(InGameText __instance)
|
||||
private static void ShowText(InGameText __instance)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
__instance.t.text = StringStore.TranslateText(__instance.t.text, true);
|
||||
__instance.t.font = fontAsset;
|
||||
#if MULTI_LANGUAGE
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
#else
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont();
|
||||
#endif
|
||||
|
||||
foreach (TextMeshProUGUI txt in __instance.textMeshes)
|
||||
{
|
||||
txt.text = StringStore.TranslateText(txt.text, true);
|
||||
txt.font = fontAsset;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,23 +1,23 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.BaseTextObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(TMP_InputField))]
|
||||
public static class TMP_InputField_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(TMP_InputField.OnEnable))]
|
||||
[HarmonyPostfix]
|
||||
private static void OnEnable(TMP_InputField __instance)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(__instance.text))
|
||||
{
|
||||
string text = StringStore.TranslateText(__instance.text);
|
||||
__instance.m_Text = StringStore.TranslateText(text);
|
||||
__instance.m_OriginalText = StringStore.TranslateText(text);
|
||||
__instance.m_TextComponent.text = StringStore.TranslateText(text);
|
||||
}
|
||||
}
|
||||
}
|
||||
[HarmonyPatch(typeof(TMP_InputField))]
|
||||
public static class TMP_InputField_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(TMP_InputField.OnEnable))]
|
||||
[HarmonyPostfix]
|
||||
private static void OnEnable(TMP_InputField __instance)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(__instance.text))
|
||||
{
|
||||
string text = StringStore.TranslateText(__instance.text);
|
||||
__instance.m_Text = StringStore.TranslateText(text);
|
||||
__instance.m_OriginalText = StringStore.TranslateText(text);
|
||||
__instance.m_TextComponent.text = StringStore.TranslateText(text);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.BaseTextObjects
|
||||
|
|
@ -21,7 +21,7 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.BaseTextObjects
|
|||
{
|
||||
__instance.text = __instance.text.Replace("\n", " ");
|
||||
}
|
||||
if ((__instance.transform.parent != null) && (__instance.transform.parent.name.StartsWith("Window")))
|
||||
if (__instance.transform.parent != null && __instance.transform.parent.name.StartsWith("Window"))
|
||||
{
|
||||
__instance.fontSizeMin = 10;
|
||||
__instance.fontSize = 12;
|
||||
|
|
@ -44,7 +44,7 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.BaseTextObjects
|
|||
{
|
||||
__instance.text = __instance.text.Replace("\n", " ");
|
||||
}
|
||||
if ((__instance.transform.parent != null) && (__instance.transform.parent.name.StartsWith("Window")))
|
||||
if (__instance.transform.parent != null && __instance.transform.parent.name.StartsWith("Window"))
|
||||
{
|
||||
__instance.fontSizeMin = 10;
|
||||
__instance.fontSize = 12;
|
||||
|
|
|
|||
|
|
@ -1,27 +1,27 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.BaseTextObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(TextMeshPro))]
|
||||
public static class TextMeshPro_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(TextMeshPro.OnEnable))]
|
||||
[HarmonyPostfix]
|
||||
private static void OnEnable(TextMeshPro __instance)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(__instance.text))
|
||||
{
|
||||
if (__instance.transform.parent.name.StartsWith("AlmanacHelp"))
|
||||
{
|
||||
__instance = StringStore.TranslateText(__instance);
|
||||
__instance.autoSizeTextContainer = false;
|
||||
return;
|
||||
}
|
||||
__instance = StringStore.TranslateText(__instance);
|
||||
__instance.autoSizeTextContainer = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
[HarmonyPatch(typeof(TextMeshPro))]
|
||||
public static class TextMeshPro_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(TextMeshPro.OnEnable))]
|
||||
[HarmonyPostfix]
|
||||
private static void OnEnable(TextMeshPro __instance)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(__instance.text))
|
||||
{
|
||||
if (__instance.transform.parent.name.StartsWith("AlmanacHelp") || __instance.transform.parent.name.StartsWith("CardBank"))
|
||||
{
|
||||
__instance = StringStore.TranslateText(__instance);
|
||||
__instance.autoSizeTextContainer = false;
|
||||
return;
|
||||
}
|
||||
__instance = StringStore.TranslateText(__instance);
|
||||
__instance.autoSizeTextContainer = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
53
BepInEx/Patches/GameObjects/AbyssBagMenu_Patch.cs
Normal file
53
BepInEx/Patches/GameObjects/AbyssBagMenu_Patch.cs
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
using UnityEngine.TextCore.Text;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
|
||||
[HarmonyPatch(typeof(AbyssBagMenu))]
|
||||
public static class AbyssBagMenu_Patch
|
||||
{
|
||||
public static GameObject ConvertToTextMeshProUGUI(GameObject originalText, Transform parent, string name)
|
||||
{
|
||||
GameObject newObj = new GameObject(name);
|
||||
newObj.transform.position = originalText.transform.position;
|
||||
newObj.AddComponent<CanvasRenderer>();
|
||||
newObj.AddComponent<RectTransform>();
|
||||
newObj.AddComponent<TextMeshProUGUI>();
|
||||
newObj.transform.SetParent(parent);
|
||||
newObj.transform.localScale = Vector3.one;
|
||||
|
||||
UnityEngine.Object.Destroy(originalText);
|
||||
return newObj;
|
||||
}
|
||||
|
||||
private static void ConvertButtonText(Transform original, string name)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
Transform transform = original.FindChild(name);
|
||||
Transform textTransform = transform.FindChild("text");
|
||||
string text = textTransform.GetComponent<Text>().text;
|
||||
Color color = textTransform.GetComponent<Text>().color;
|
||||
|
||||
TextMeshProUGUI newGoBackText = ConvertToTextMeshProUGUI(textTransform.gameObject, transform, "text2").GetComponent<TextMeshProUGUI>();
|
||||
newGoBackText.autoSizeTextContainer = true;
|
||||
newGoBackText.text = StringStore.TranslateText(text, false);
|
||||
newGoBackText.font = fontAsset;
|
||||
newGoBackText.color = color;
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(AbyssBagMenu.Awake))]
|
||||
[HarmonyPostfix]
|
||||
private static void MoveFromBag(AbyssCheckInBag __instance)
|
||||
{
|
||||
AbyssMenu2.Instance.UpdateIcons();
|
||||
ConvertButtonText(__instance.transform, "Goback");
|
||||
}
|
||||
}
|
||||
}
|
||||
29
BepInEx/Patches/GameObjects/AbyssCheckInBag_Patch.cs
Normal file
29
BepInEx/Patches/GameObjects/AbyssCheckInBag_Patch.cs
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
using UnityEngine.TextCore.Text;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
|
||||
[HarmonyPatch(typeof(AbyssCheckInBag))]
|
||||
public static class AbyssCheckInBag_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(AbyssCheckInBag.MoveFromBag))]
|
||||
[HarmonyPostfix]
|
||||
private static void MoveFromBag(AbyssCheckInBag __instance)
|
||||
{
|
||||
AbyssMenu2.Instance.UpdateIcons();
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(AbyssCheckInBag.SellIcon))]
|
||||
[HarmonyPostfix]
|
||||
private static void SellIcon(AbyssCheckInBag __instance)
|
||||
{
|
||||
AbyssMenu2.Instance.UpdateIcons();
|
||||
}
|
||||
}
|
||||
}
|
||||
48
BepInEx/Patches/GameObjects/AbyssDevelopMenu_Patch.cs
Normal file
48
BepInEx/Patches/GameObjects/AbyssDevelopMenu_Patch.cs
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
using System.Text.RegularExpressions;
|
||||
using System.Collections.Generic;
|
||||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine.TextCore.Text;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(AbyssDevelopMenu))]
|
||||
public static class AbyssDevelopMenu_Patch
|
||||
{
|
||||
|
||||
[HarmonyPatch(nameof(AbyssDevelopMenu.UpdateInfo))]
|
||||
[HarmonyPostfix]
|
||||
private static void UpdateInfo(AbyssDevelopMenu __instance)
|
||||
{
|
||||
__instance.currentMoney.text = StringStore.TranslateText(__instance.currentMoney.text);
|
||||
__instance.upgradeTextInfo.text = StringStore.TranslateText(__instance.upgradeTextInfo.text);
|
||||
|
||||
TextMeshProUGUI upgradeCostText = __instance.transform.FindChild("UpgradeCost").GetComponent<TextMeshProUGUI>();
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
string regexStr = "【([^\\s]+)】\n当前等级:([^\\s]+)\n\n升级条件:\n([^\\s]+)\n\n升级消耗:([^\\s]+)";
|
||||
|
||||
Regex regex = new Regex(regexStr);
|
||||
|
||||
if (regex.IsMatch(upgradeCostText.text))
|
||||
{
|
||||
Match match = regex.Match(upgradeCostText.text);
|
||||
int groupCount = match.Groups.Count;
|
||||
|
||||
List<string> dynamicParts = [];
|
||||
|
||||
for (int i = 1; i < groupCount; i++)
|
||||
{
|
||||
string groupValue = match.Groups[i].Value;
|
||||
string translatedValue = StringStore.translationString.ContainsKey(groupValue) ? StringStore.translationString[groupValue] : groupValue;
|
||||
dynamicParts.Add(translatedValue);
|
||||
}
|
||||
|
||||
upgradeCostText.text = string.Format(StringStore.translationStringRegex[regexStr], [.. dynamicParts]);
|
||||
upgradeCostText.font = fontAsset;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
122
BepInEx/Patches/GameObjects/AbyssMenu2_Patch.cs
Normal file
122
BepInEx/Patches/GameObjects/AbyssMenu2_Patch.cs
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
using UnityEngine.TextCore.Text;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
|
||||
[HarmonyPatch(typeof(AbyssMenu2))]
|
||||
public static class AbyssMenu2_Patch
|
||||
{
|
||||
private static void UpdateAbyss2Text(AbyssMenu2 __instance)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
__instance.buffCountText.text = StringStore.TranslateText(__instance.buffCountText.text);
|
||||
__instance.buffCountText.font = fontAsset;
|
||||
|
||||
__instance.money.text = StringStore.TranslateText(__instance.money.text);
|
||||
__instance.money.font = fontAsset;
|
||||
|
||||
__instance.refreshText.text = StringStore.TranslateText(__instance.refreshText.text);
|
||||
__instance.refreshText.font = fontAsset;
|
||||
|
||||
__instance.statistics.text = StringStore.TranslateText(__instance.statistics.text);
|
||||
__instance.statistics.font = fontAsset;
|
||||
|
||||
Transform buffTextTransform = __instance.transform.FindChild("BuffText").transform;
|
||||
if (buffTextTransform != null) StringStore.TranslateTextTransform(buffTextTransform);
|
||||
|
||||
Transform moneyTransform = __instance.transform.FindChild("Money").transform;
|
||||
if (moneyTransform != null) StringStore.TranslateTextTransform(moneyTransform);
|
||||
|
||||
Transform buffCountTextTransform = __instance.transform.FindChild("BuffCountText").transform;
|
||||
if (buffCountTextTransform != null) StringStore.TranslateTextTransform(buffCountTextTransform);
|
||||
|
||||
Transform refreshTextTransform = __instance.transform.FindChild("RefreshText").transform;
|
||||
if (refreshTextTransform != null) StringStore.TranslateTextTransform(refreshTextTransform);
|
||||
|
||||
Transform optionsTransform = __instance.transform.FindChild("Options").transform;
|
||||
foreach (AbyssBuffButton abyssBuffButton in optionsTransform.GetComponentsInChildren<AbyssBuffButton>())
|
||||
{
|
||||
foreach (TextMeshProUGUI textMesh in abyssBuffButton.GetComponentsInChildren<TextMeshProUGUI>())
|
||||
{
|
||||
textMesh.text = StringStore.TranslateText(textMesh.text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static GameObject ConvertToTextMeshProUGUI(GameObject originalText, Transform parent, string name)
|
||||
{
|
||||
GameObject newObj = new GameObject(name);
|
||||
newObj.transform.position = originalText.transform.position;
|
||||
newObj.AddComponent<CanvasRenderer>();
|
||||
newObj.AddComponent<RectTransform>();
|
||||
newObj.AddComponent<TextMeshProUGUI>();
|
||||
newObj.transform.SetParent(parent);
|
||||
newObj.transform.localScale = Vector3.one;
|
||||
|
||||
UnityEngine.Object.Destroy(originalText);
|
||||
return newObj;
|
||||
}
|
||||
|
||||
private static void ConvertButtonText(Transform original, string name)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
Transform transform = original.FindChild(name);
|
||||
Transform textTransform = transform.FindChild("text");
|
||||
string text = textTransform.GetComponent<Text>().text;
|
||||
Color color = textTransform.GetComponent<Text>().color;
|
||||
|
||||
TextMeshProUGUI newGoBackText = ConvertToTextMeshProUGUI(textTransform.gameObject, transform, "text2").GetComponent<TextMeshProUGUI>();
|
||||
newGoBackText.autoSizeTextContainer = true;
|
||||
newGoBackText.text = StringStore.TranslateText(text, false);
|
||||
newGoBackText.font = fontAsset;
|
||||
newGoBackText.color = color;
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(AbyssMenu2.Start))]
|
||||
[HarmonyPostfix]
|
||||
private static void Start(AbyssMenu2 __instance)
|
||||
{
|
||||
UpdateAbyss2Text(__instance);
|
||||
|
||||
ConvertButtonText(__instance.transform, "Goback");
|
||||
ConvertButtonText(__instance.transform, "Help");
|
||||
ConvertButtonText(__instance.transform, "Bag");
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(AbyssMenu2.UpdateIcons))]
|
||||
[HarmonyPostfix]
|
||||
private static void UpdateIcons(AbyssMenu2 __instance)
|
||||
{
|
||||
UpdateAbyss2Text(__instance);
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(AbyssMenu2.UpdateBuff))]
|
||||
[HarmonyPostfix]
|
||||
private static void UpdateBuff(AbyssMenu2 __instance)
|
||||
{
|
||||
UpdateAbyss2Text(__instance);
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(AbyssMenu2.BuyBuff))]
|
||||
[HarmonyPostfix]
|
||||
private static void BuyBuff(AbyssMenu2 __instance)
|
||||
{
|
||||
UpdateAbyss2Text(__instance);
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(AbyssMenu2.ShowBag))]
|
||||
[HarmonyPostfix]
|
||||
private static void ShowBag(AbyssMenu2 __instance)
|
||||
{
|
||||
UpdateAbyss2Text(__instance);
|
||||
}
|
||||
}
|
||||
}
|
||||
93
BepInEx/Patches/GameObjects/AbyssMenu_Patch.cs
Normal file
93
BepInEx/Patches/GameObjects/AbyssMenu_Patch.cs
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using Unity.VisualScripting;
|
||||
using UnityEngine;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(AbyssMenu))]
|
||||
public static class AbyssMenu_Patch
|
||||
{
|
||||
public static GameObject ConvertToTextMeshProUGUI(GameObject originalText, Transform parent, string name)
|
||||
{
|
||||
GameObject newObj = new GameObject(name);
|
||||
newObj.transform.position = originalText.transform.position;
|
||||
newObj.AddComponent<CanvasRenderer>();
|
||||
newObj.AddComponent<RectTransform>();
|
||||
newObj.AddComponent<TextMeshProUGUI>();
|
||||
newObj.transform.SetParent(parent);
|
||||
newObj.transform.localScale = Vector3.one;
|
||||
|
||||
UnityEngine.Object.Destroy(originalText);
|
||||
return newObj;
|
||||
}
|
||||
|
||||
private static void ConvertButtonText(Transform original, string name)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
Transform transform = original.FindChild(name);
|
||||
Transform textTransform = transform.FindChild("text");
|
||||
string text = textTransform.GetComponent<Text>().text;
|
||||
Color color = textTransform.GetComponent<Text>().color;
|
||||
|
||||
TextMeshProUGUI newGoBackText = ConvertToTextMeshProUGUI(textTransform.gameObject, transform, "text2").GetComponent<TextMeshProUGUI>();
|
||||
newGoBackText.autoSizeTextContainer = true;
|
||||
newGoBackText.text = StringStore.TranslateText(text, false);
|
||||
newGoBackText.font = fontAsset;
|
||||
newGoBackText.color = color;
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(AbyssMenu.Awake))]
|
||||
[HarmonyPostfix]
|
||||
private static void Awake(AbyssMenu __instance)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
foreach (TextMeshProUGUI txt in __instance.levelInfo)
|
||||
{
|
||||
txt.text = StringStore.TranslateText(txt.text, false);
|
||||
txt.font = fontAsset;
|
||||
}
|
||||
|
||||
ConvertButtonText(__instance.transform, "Goback");
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(AbyssMenu.UpdateLevelInfo))]
|
||||
[HarmonyPostfix]
|
||||
private static void UpdateLevelInfo(AbyssMenu __instance)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
foreach (TextMeshProUGUI txt in __instance.levelInfo)
|
||||
{
|
||||
string regexStr = "第(\\d+)关\n场景:([^\\s]+)\n总波数:(\\d+)波\n特殊环境:([^\\s:]+)\n减伤强度:(\\d+)";
|
||||
|
||||
Regex regex = new Regex(regexStr);
|
||||
|
||||
if(regex.IsMatch(txt.text))
|
||||
{
|
||||
Match match = regex.Match(txt.text);
|
||||
int groupCount = match.Groups.Count;
|
||||
|
||||
List<string> dynamicParts = [];
|
||||
|
||||
for (int i = 1; i < groupCount; i++)
|
||||
{
|
||||
string groupValue = match.Groups[i].Value;
|
||||
string translatedValue = StringStore.translationString.ContainsKey(groupValue) ? StringStore.translationString[groupValue] : groupValue;
|
||||
dynamicParts.Add(translatedValue);
|
||||
}
|
||||
|
||||
txt.text = string.Format(StringStore.translationStringRegex[regexStr], [.. dynamicParts]);
|
||||
txt.font = fontAsset;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
64
BepInEx/Patches/GameObjects/AbyssSettlementMenu_Patch.cs
Normal file
64
BepInEx/Patches/GameObjects/AbyssSettlementMenu_Patch.cs
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using Unity.VisualScripting;
|
||||
using UnityEngine;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(AbyssSettlementMenu))]
|
||||
public static class AbyssSettlementMenu_Patch
|
||||
{
|
||||
|
||||
[HarmonyPatch(nameof(AbyssSettlementMenu.InitSettle))]
|
||||
[HarmonyPostfix]
|
||||
private static void InitSettle(AbyssSettlementMenu __instance)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
string regexStr1 = "第(\\d+)关\n通关用时:(\\d+)分(\\d+)秒\n杀敌数量:(\\d+)\n关卡叶绿素产出:(\\d+)\n极限模式产出:(\\d+)\n非首胜无额外产出\n产出叶绿素总计:(\\d+)\n";
|
||||
string regexStr2 = "第(\\d+)关\n通关用时:(\\d+)分(\\d+)秒\n杀敌数量:(\\d+)\n关卡叶绿素产出:(\\d+)\n极限模式产出:(\\d+)\n首胜产出:(\\d+)\n剩余小推车数量:(\\d+),获得叶绿素:(\\d+)\n产出叶绿素总计:(\\d+)";
|
||||
|
||||
Regex regex1 = new Regex(regexStr1);
|
||||
Regex regex2 = new Regex(regexStr2);
|
||||
|
||||
if (regex1.IsMatch(__instance.settleInfo.text))
|
||||
{
|
||||
Match match = regex1.Match(__instance.settleInfo.text);
|
||||
int groupCount = match.Groups.Count;
|
||||
|
||||
List<string> dynamicParts = [];
|
||||
|
||||
for (int i = 1; i < groupCount; i++)
|
||||
{
|
||||
string groupValue = match.Groups[i].Value;
|
||||
string translatedValue = StringStore.translationString.ContainsKey(groupValue) ? StringStore.translationString[groupValue] : groupValue;
|
||||
dynamicParts.Add(translatedValue);
|
||||
}
|
||||
|
||||
__instance.settleInfo.text = string.Format(StringStore.translationStringRegex[regexStr1], [.. dynamicParts]);
|
||||
__instance.settleInfo.font = fontAsset;
|
||||
}
|
||||
else if (regex2.IsMatch(__instance.settleInfo.text))
|
||||
{
|
||||
Match match = regex2.Match(__instance.settleInfo.text);
|
||||
int groupCount = match.Groups.Count;
|
||||
|
||||
List<string> dynamicParts = [];
|
||||
|
||||
for (int i = 1; i < groupCount; i++)
|
||||
{
|
||||
string groupValue = match.Groups[i].Value;
|
||||
string translatedValue = StringStore.translationString.ContainsKey(groupValue) ? StringStore.translationString[groupValue] : groupValue;
|
||||
dynamicParts.Add(translatedValue);
|
||||
}
|
||||
|
||||
__instance.settleInfo.text = string.Format(StringStore.translationStringRegex[regexStr2], [.. dynamicParts]);
|
||||
__instance.settleInfo.font = fontAsset;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
18
BepInEx/Patches/GameObjects/AbyssStoreMenu_Patch.cs
Normal file
18
BepInEx/Patches/GameObjects/AbyssStoreMenu_Patch.cs
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(AbyssStoreMenu))]
|
||||
public static class AbyssStoreMenu_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(AbyssStoreMenu.Update))]
|
||||
[HarmonyPostfix]
|
||||
private static void UpdateInfo(AbyssStoreMenu __instance)
|
||||
{
|
||||
__instance.yourMoney.text = StringStore.TranslateText(__instance.yourMoney.text);
|
||||
}
|
||||
}
|
||||
}
|
||||
117
BepInEx/Patches/GameObjects/BaseMenu_Patch.cs
Normal file
117
BepInEx/Patches/GameObjects/BaseMenu_Patch.cs
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(BaseMenu))]
|
||||
public static class BaseMenu_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(BaseMenu.Awake))]
|
||||
[HarmonyPostfix]
|
||||
private static void Awake(BaseMenu __instance)
|
||||
{
|
||||
Transform mainTransform = __instance.transform;
|
||||
if (mainTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(mainTransform.Find("Goback"));
|
||||
StringStore.TranslateTextTransform(mainTransform.Find("Switich"));
|
||||
|
||||
Transform levelTransform = mainTransform.Find("Level");
|
||||
if (levelTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(levelTransform.Find("Nextpage"));
|
||||
StringStore.TranslateTextTransform(levelTransform.Find("LastPage"));
|
||||
}
|
||||
|
||||
Transform customLevelTransform = mainTransform.Find("CustomLevel");
|
||||
if (customLevelTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(customLevelTransform.Find("Nextpage"));
|
||||
StringStore.TranslateTextTransform(customLevelTransform.Find("LastPage"));
|
||||
}
|
||||
|
||||
Transform levelsTransform = mainTransform.Find("Levels");
|
||||
if (levelsTransform != null)
|
||||
{
|
||||
|
||||
StringStore.TranslateTextTransform(levelsTransform.Find("Nextpage"));
|
||||
StringStore.TranslateTextTransform(levelsTransform.Find("LastPage"));
|
||||
|
||||
Transform pageMiniGamesTransform = levelsTransform.transform.Find("PageMiniGames");
|
||||
if (pageMiniGamesTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(pageMiniGamesTransform.Find("BackToIndex"));
|
||||
StringStore.TranslateTextTransform(pageMiniGamesTransform.Find("Nextpage"));
|
||||
StringStore.TranslateTextTransform(pageMiniGamesTransform.Find("LastPage"));
|
||||
}
|
||||
|
||||
Transform pageUnlockChallengeTransform = levelsTransform.transform.Find("PageUnlockChallenge");
|
||||
if (pageUnlockChallengeTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(pageUnlockChallengeTransform.Find("BackToIndex"));
|
||||
}
|
||||
|
||||
Transform pageFlagChallengeTransform = levelsTransform.transform.Find("PageFlagChallenge");
|
||||
if (pageFlagChallengeTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(pageFlagChallengeTransform.Find("BackToIndex"));
|
||||
}
|
||||
|
||||
Transform pageTravelExperienceTransform = levelsTransform.transform.Find("PageTravelExperience");
|
||||
if (pageTravelExperienceTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(pageTravelExperienceTransform.Find("BackToIndex"));
|
||||
}
|
||||
|
||||
Transform pageGardenProtectionTransform = levelsTransform.transform.Find("PageGardenProtection");
|
||||
if (pageGardenProtectionTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(pageGardenProtectionTransform.Find("BackToIndex"));
|
||||
}
|
||||
|
||||
Transform pageNormalTravelTransform = levelsTransform.transform.Find("PageNormalTravel");
|
||||
if (pageNormalTravelTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(pageNormalTravelTransform.Find("BackToIndex"));
|
||||
}
|
||||
|
||||
Transform pageRandomLevelTransform = levelsTransform.transform.Find("PageRandomLevel");
|
||||
if (pageRandomLevelTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(pageRandomLevelTransform.Find("BackToIndex"));
|
||||
}
|
||||
|
||||
Transform pageUltimateExperienceTransform = levelsTransform.transform.Find("PageUltimateExprience");
|
||||
if (pageUltimateExperienceTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(pageUltimateExperienceTransform.Find("BackToIndex"));
|
||||
}
|
||||
|
||||
Transform pageAdvantureLevelTransform = levelsTransform.transform.Find("PageAdvantureLevel");
|
||||
if (pageAdvantureLevelTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(pageAdvantureLevelTransform.Find("BackToIndex"));
|
||||
StringStore.TranslateTextTransform(pageAdvantureLevelTransform.Find("Nextpage"));
|
||||
StringStore.TranslateTextTransform(pageAdvantureLevelTransform.Find("LastPage"));
|
||||
}
|
||||
|
||||
Transform pageScaryPotTransform = levelsTransform.transform.Find("PageScaryPot");
|
||||
if (pageScaryPotTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(pageScaryPotTransform.Find("BackToIndex"));
|
||||
StringStore.TranslateTextTransform(pageScaryPotTransform.Find("Nextpage"));
|
||||
StringStore.TranslateTextTransform(pageScaryPotTransform.Find("LastPage"));
|
||||
}
|
||||
|
||||
foreach(TextMeshProUGUI txt in mainTransform.GetComponentsInChildren<TextMeshProUGUI>())
|
||||
{
|
||||
txt.text = StringStore.TranslateText(txt.text);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
#if FIX
|
||||
using System.Text.RegularExpressions;
|
||||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
using MelonLoader;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.ButtonObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(AbyssBuffButton))]
|
||||
public static class AbyssBuffButton_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(AbyssBuffButton.SetType))]
|
||||
[HarmonyPostfix]
|
||||
private static void SetType(AbyssBuffButton __instance)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
Regex regex = new Regex("([^\\s]+)\n价格:(\\d+)");
|
||||
|
||||
if (regex.IsMatch(__instance.description.text))
|
||||
{
|
||||
Match match = regex.Match(__instance.description.text);
|
||||
int groupCount = match.Groups.Count;
|
||||
|
||||
List<string> dynamicParts = [];
|
||||
|
||||
for (int i = 1; i < groupCount; i++)
|
||||
{
|
||||
string groupValue = match.Groups[i].Value;
|
||||
string translatedValue = StringStore.translationString.ContainsKey(groupValue) ? StringStore.translationString[groupValue] : groupValue;
|
||||
dynamicParts.Add(translatedValue);
|
||||
MelonLogger.Msg(translatedValue);
|
||||
}
|
||||
|
||||
__instance.description.text = string.Format(StringStore.translationStringRegex["([^\\s]+)\n价格:(\\d+)"], [.. dynamicParts]);
|
||||
__instance.description.font = fontAsset;
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(AbyssBuffButton.SetSold))]
|
||||
[HarmonyPostfix]
|
||||
private static void SetSold(AbyssBuffButton __instance)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
__instance.description.text = StringStore.TranslateText(__instance.description.text);
|
||||
__instance.description.font = fontAsset;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.ButtonObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(AbyssCheckSellMenu))]
|
||||
public static class AbyssCheckSellMenu_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(AbyssCheckSellMenu.SellIcon))]
|
||||
[HarmonyPostfix]
|
||||
private static void SellIcon(AbyssCheckSellMenu __instance)
|
||||
{
|
||||
AbyssMenu2.Instance.UpdateIcons();
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(AbyssCheckSellMenu.MoveInBag))]
|
||||
[HarmonyPostfix]
|
||||
private static void MoveInBag(AbyssCheckSellMenu __instance)
|
||||
{
|
||||
AbyssMenu2.Instance.UpdateIcons();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.ButtonObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(AbyssLevelEnter))]
|
||||
public static class AbyssLevelEnter_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(AbyssLevelEnter.SetLevel))]
|
||||
[HarmonyPostfix]
|
||||
private static void SetLevel(AbyssLevelEnter __instance)
|
||||
{
|
||||
__instance.levelName = StringStore.TranslateText(__instance.levelName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.ButtonObjects
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.ButtonObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(CustomLevelEnter))]
|
||||
public static class CustomLevelEnter_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(CustomLevelEnter.Start))]
|
||||
[HarmonyPostfix]
|
||||
private static void Show(CustomLevelEnter __instance)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
foreach(TextMeshProUGUI txt in __instance.GetComponentsInChildren<TextMeshProUGUI>())
|
||||
{
|
||||
txt.text = StringStore.TranslateText(txt.text);
|
||||
txt.font = fontAsset;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,11 +1,12 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.ButtonObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(EveBtn))]
|
||||
[HarmonyPatch(typeof(EveBtn))]
|
||||
public static class EveBtn_Patch
|
||||
{
|
||||
[HarmonyPostfix]
|
||||
|
|
@ -38,4 +39,4 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.ButtonObjects
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +1,11 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.ButtonObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(InGameBtn))]
|
||||
[HarmonyPatch(typeof(InGameBtn))]
|
||||
public static class InGameBtn_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(InGameBtn.Update))]
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
using HarmonyLib;
|
||||
#if MULTI_LANGUAGE
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using Object = UnityEngine.Object;
|
||||
|
||||
|
|
@ -211,3 +213,4 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.ButtonObjects
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.ButtonObjects
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.ButtonObjects
|
||||
|
|
|
|||
|
|
@ -1,13 +1,15 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.ButtonObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(PauseMenu_Btn))]
|
||||
[HarmonyPatch(typeof(PauseMenu_Btn))]
|
||||
public static class PauseMenu_Btn_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(PauseMenu_Btn.Start))]
|
||||
[HarmonyPostfix]
|
||||
private static void Start(PauseMenu_Btn __instance) => StringStore.TranslateTextTransform(__instance.transform);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
#if FIX
|
||||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.ButtonObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(SaveMenuBtn))]
|
||||
public static class SaveMenuBtn_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(SaveMenuBtn.OnMouseUpAsButton))]
|
||||
[HarmonyPostfix]
|
||||
private static void OnMouseUpAsButton(SaveMenuBtn __instance)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
__instance.theName.text = StringStore.TranslateText(__instance.theName.text);
|
||||
__instance.theName.font = fontAsset;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1,17 +1,19 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(Close))]
|
||||
[HarmonyPatch(typeof(Close))]
|
||||
public static class Close_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(Close.Start))]
|
||||
[HarmonyPostfix]
|
||||
private static void Close_Start(Close __instance)
|
||||
{
|
||||
|
||||
TextMeshPro closeText = __instance.transform.GetChild(0).GetComponent<TextMeshPro>();
|
||||
closeText.text = "合上";
|
||||
closeText = StringStore.TranslateText(closeText);
|
||||
|
|
@ -40,9 +42,11 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
StringStore.TranslateTextTransform(AlmanacTransform.Find("Back"), true);
|
||||
StringStore.TranslateTextTransform(AlmanacTransform.Find("NextPage"));
|
||||
StringStore.TranslateTextTransform(AlmanacTransform.Find("LastPage"));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(CustomSettings))]
|
||||
[HarmonyPatch(typeof(CustomSettings))]
|
||||
public static class CustomSettings_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(CustomSettings.Awake))]
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(CustomSun))]
|
||||
[HarmonyPatch(typeof(CustomSun))]
|
||||
public static class CustomSun_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(CustomSun.Awake))]
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(GardenPlant))]
|
||||
[HarmonyPatch(typeof(GardenPlant))]
|
||||
public static class GardenPlant_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(GardenPlant.Update))]
|
||||
|
|
@ -20,4 +21,4 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
|||
__instance.infoText = StringStore.TranslateText(__instance.infoText);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
20
BepInEx/Patches/GameObjects/MainMenu_Patch.cs
Normal file
20
BepInEx/Patches/GameObjects/MainMenu_Patch.cs
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(MainMenu))]
|
||||
public class MainMenu_Patch
|
||||
{
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(nameof(MainMenu.FixedUpdate))]
|
||||
private static void FixedUpdate(MainMenu __instance)
|
||||
{
|
||||
NoticeMenu noticeMenu = NoticeMenu.Instance;
|
||||
WarningStore.WarningReload(Utils.Language, noticeMenu);
|
||||
}
|
||||
}
|
||||
}
|
||||
22
BepInEx/Patches/GameObjects/MinorObjects/AbyssGoods_Patch.cs
Normal file
22
BepInEx/Patches/GameObjects/MinorObjects/AbyssGoods_Patch.cs
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(AbyssGoods))]
|
||||
public static class AbyssGoods_Patch
|
||||
{
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(nameof(AbyssGoods.Start))]
|
||||
private static void Start(AbyssGoods __instance)
|
||||
{
|
||||
__instance.costText.text = StringStore.TranslateText(__instance.costText.text, false);
|
||||
__instance.costText_shadow.text = StringStore.TranslateText(__instance.costText_shadow.text, false);
|
||||
__instance.hasText.text = StringStore.TranslateText(__instance.hasText.text, false);
|
||||
__instance.hasText_shadow.text = StringStore.TranslateText(__instance.hasText_shadow.text, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
||||
|
|
@ -13,4 +14,4 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
|||
__instance.TextMeshPro.text = StringStore.TranslateText(__instance.TextMeshPro.text);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(LanternUmbrella))]
|
||||
[HarmonyPatch(typeof(LanternUmbrella))]
|
||||
public class LanternUmbrella_Patch
|
||||
{
|
||||
[HarmonyPostfix]
|
||||
|
|
@ -14,4 +15,4 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
|||
__instance.energyTextShadow = StringStore.TranslateText(__instance.energyTextShadow);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
||||
|
|
@ -13,4 +14,4 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
|||
StringStore.TranslateTextTransform(__instance.transform);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(MagnetInterface))]
|
||||
[HarmonyPatch(typeof(MagnetInterface))]
|
||||
public class MagnetInterface_Patch
|
||||
{
|
||||
[HarmonyPostfix]
|
||||
|
|
@ -13,4 +14,4 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
|||
StringStore.TranslateTextTransform(__instance.transform);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
||||
|
|
@ -14,4 +15,4 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
|||
__instance.beanCount2.text = StringStore.TranslateText(__instance.beanCount2.text);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,6 @@
|
|||
using HarmonyLib;
|
||||
#if FIX
|
||||
using HarmonyLib;
|
||||
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
|
|
@ -19,3 +21,4 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1,4 +1,6 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
||||
|
|
@ -13,4 +15,4 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
|||
__instance.textMesh.text = StringStore.TranslateText(__instance.textMesh.text);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(SelectYourPlants))]
|
||||
[HarmonyPatch(typeof(SelectYourPlants))]
|
||||
public static class SelectYourPlants_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(SelectYourPlants.Awake))]
|
||||
|
|
|
|||
|
|
@ -1,21 +1,12 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects.MinorObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(Zombie))]
|
||||
public static class Zombie_Patch
|
||||
{
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(nameof(Zombie.UpdateHealthText))]
|
||||
private static void UpdateHealthText(Zombie __instance)
|
||||
{
|
||||
Transform healthTransform = __instance.transform.Find("health");
|
||||
if (healthTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(__instance.transform);
|
||||
}
|
||||
}
|
||||
}
|
||||
class Zombie_Patch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,20 +1,21 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(Help_))]
|
||||
public class Help__Patch
|
||||
[HarmonyPatch(typeof(NoticeMenu))]
|
||||
public class NoticePauseMenu_Patch
|
||||
{
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(nameof(Help_.Start))]
|
||||
private static void Start(Help_ __instance)
|
||||
[HarmonyPatch(nameof(NoticeMenu.Start))]
|
||||
private static void Start(NoticeMenu __instance)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
Transform warningTransform = __instance.transform.GetChild(0);
|
||||
Transform warningTextTransform = warningTransform.FindChild("文字");
|
||||
Transform warningTransform = __instance.transform.FindChild("窗口");
|
||||
Transform warningTextTransform = warningTransform.FindChild("文字");
|
||||
Transform warningTextShadowTransform = warningTransform.FindChild("文字2");
|
||||
Transform[] array = [warningTextTransform, warningTextShadowTransform];
|
||||
|
||||
|
|
@ -28,4 +29,4 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
44
BepInEx/Patches/GameObjects/TravelBuffOptionButton_Patch.cs
Normal file
44
BepInEx/Patches/GameObjects/TravelBuffOptionButton_Patch.cs
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(TravelBuffOptionButton))]
|
||||
public static class TravelBuffOptionButton_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(TravelBuffOptionButton.SetBuff))]
|
||||
[HarmonyPostfix]
|
||||
private static void Start(TravelBuffOptionButton __instance)
|
||||
{
|
||||
__instance.introduce.text = StringStore.TranslateText(__instance.introduce.text);
|
||||
}
|
||||
//[HarmonyPatch(nameof(TravelMenuMgr.SetText))]
|
||||
//[HarmonyPostfix]
|
||||
//private static void SetText(TravelMenuMgr __instance)
|
||||
//{
|
||||
// foreach(TextMeshProUGUI text in __instance.textMesh)
|
||||
// {
|
||||
// text.text = StringStore.TranslateText(text.text);
|
||||
// }
|
||||
// foreach(TextMeshProUGUI text in __instance.textMeshShadow)
|
||||
// {
|
||||
// text.text = StringStore.TranslateText(text.text);
|
||||
// }
|
||||
//}
|
||||
//[HarmonyPatch(nameof(TravelMenuMgr.SetRichText), [typeof(int), typeof(int), typeof(TextMeshProUGUI), typeof(string)])]
|
||||
//[HarmonyPostfix]
|
||||
//private static void SetRichText(TravelMenuMgr __instance)
|
||||
//{
|
||||
// foreach(TextMeshProUGUI text in __instance.textMesh)
|
||||
// {
|
||||
// text.text = StringStore.TranslateText(text.text);
|
||||
// }
|
||||
// foreach(TextMeshProUGUI text in __instance.textMeshShadow)
|
||||
// {
|
||||
// text.text = StringStore.TranslateText(text.text);
|
||||
// }
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
using HarmonyLib;
|
||||
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(TravelBuff))]
|
||||
[HarmonyPatch(typeof(TravelBuff))]
|
||||
public static class TravelBuff_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(TravelBuff.OnMouseUpAsButton))]
|
||||
|
|
@ -14,4 +15,4 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
|||
TravelBuffMgr.Instance.text2 = AssetStore.StringStore.TranslateText(TravelBuffMgr.Instance.text2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
|
|
@ -8,40 +9,90 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
|||
[HarmonyPatch(typeof(TravelRefresh))]
|
||||
public static class TravelRefresh_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(TravelRefresh.Update))]
|
||||
[HarmonyPatch(nameof(TravelRefresh.Start))]
|
||||
[HarmonyPostfix]
|
||||
private static void Update(TravelRefresh __instance)
|
||||
private static void Start(TravelRefresh __instance)
|
||||
{
|
||||
TextMeshProUGUI pointsText = __instance.transform.GetChild(0).GetComponent<TextMeshProUGUI>();
|
||||
pointsText = StringStore.TranslateText(pointsText);
|
||||
pointsText.autoSizeTextContainer = true;
|
||||
__instance.text = StringStore.TranslateText(__instance.text);
|
||||
__instance.text_shadow = StringStore.TranslateText(__instance.text_shadow);
|
||||
|
||||
Transform TravelMenuTransform = __instance.transform.parent.transform;
|
||||
Transform refreshTransform = TravelMenuTransform.Find("Refresh2").transform.Find("bank");
|
||||
if (refreshTransform != null)
|
||||
{
|
||||
Transform text_1Transform = refreshTransform.Find("text_1");
|
||||
if (text_1Transform != null)
|
||||
{
|
||||
TextMeshProUGUI text_1 = text_1Transform.GetComponent<TextMeshProUGUI>();
|
||||
if (text_1)
|
||||
{
|
||||
text_1 = StringStore.TranslateText(text_1);
|
||||
text_1.autoSizeTextContainer = true;
|
||||
}
|
||||
}
|
||||
//TextMeshProUGUI pointsText = __instance.transform.GetChild(0).GetComponent<TextMeshProUGUI>();
|
||||
//pointsText = StringStore.TranslateText(pointsText);
|
||||
//pointsText.autoSizeTextContainer = true;
|
||||
|
||||
Transform text_2Transform = refreshTransform.Find("text_2");
|
||||
if (text_2Transform != null)
|
||||
{
|
||||
TextMeshProUGUI text_2 = text_2Transform.GetComponent<TextMeshProUGUI>();
|
||||
if (text_2)
|
||||
{
|
||||
text_2 = StringStore.TranslateText(text_2);
|
||||
text_2.autoSizeTextContainer = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Transform TravelMenuTransform = __instance.transform.parent.transform;
|
||||
|
||||
//Transform refreshTransform = TravelMenuTransform.Find("Refresh2").transform.Find("bank");
|
||||
//if (refreshTransform != null)
|
||||
//{
|
||||
// Transform text_1Transform = refreshTransform.Find("text_1");
|
||||
// if (text_1Transform != null)
|
||||
// {
|
||||
// TextMeshProUGUI text_1 = text_1Transform.GetComponent<TextMeshProUGUI>();
|
||||
|
||||
// if (text_1)
|
||||
// {
|
||||
// text_1 = StringStore.TranslateText(text_1);
|
||||
// text_1.autoSizeTextContainer = true;
|
||||
// }
|
||||
// }
|
||||
|
||||
// Transform text_2Transform = refreshTransform.Find("text_2");
|
||||
// if (text_2Transform != null)
|
||||
// {
|
||||
// TextMeshProUGUI text_2 = text_2Transform.GetComponent<TextMeshProUGUI>();
|
||||
|
||||
// if (text_2)
|
||||
// {
|
||||
// text_2 = StringStore.TranslateText(text_2);
|
||||
// text_2.autoSizeTextContainer = true;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(TravelRefresh.OnMouseUpAsButton))]
|
||||
[HarmonyPostfix]
|
||||
private static void OnMouseUpAsButton(TravelRefresh __instance)
|
||||
{
|
||||
__instance.text = StringStore.TranslateText(__instance.text);
|
||||
__instance.text_shadow = StringStore.TranslateText(__instance.text_shadow);
|
||||
|
||||
//TextMeshProUGUI pointsText = __instance.transform.GetChild(0).GetComponent<TextMeshProUGUI>();
|
||||
//pointsText = StringStore.TranslateText(pointsText);
|
||||
//pointsText.autoSizeTextContainer = true;
|
||||
|
||||
|
||||
//Transform TravelMenuTransform = __instance.transform.parent.transform;
|
||||
|
||||
//Transform refreshTransform = TravelMenuTransform.Find("Refresh2").transform.Find("bank");
|
||||
//if (refreshTransform != null)
|
||||
//{
|
||||
// Transform text_1Transform = refreshTransform.Find("text_1");
|
||||
// if (text_1Transform != null)
|
||||
// {
|
||||
// TextMeshProUGUI text_1 = text_1Transform.GetComponent<TextMeshProUGUI>();
|
||||
|
||||
// if (text_1)
|
||||
// {
|
||||
// text_1 = StringStore.TranslateText(text_1);
|
||||
// text_1.autoSizeTextContainer = true;
|
||||
// }
|
||||
// }
|
||||
|
||||
// Transform text_2Transform = refreshTransform.Find("text_2");
|
||||
// if (text_2Transform != null)
|
||||
// {
|
||||
// TextMeshProUGUI text_2 = text_2Transform.GetComponent<TextMeshProUGUI>();
|
||||
|
||||
// if (text_2)
|
||||
// {
|
||||
// text_2 = StringStore.TranslateText(text_2);
|
||||
// text_2.autoSizeTextContainer = true;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,16 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using System;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
using System;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(TravelStore))]
|
||||
internal class TravelStore_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(TravelStore.Update))]
|
||||
internal class TravelStore_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(TravelStore.Update))]
|
||||
[HarmonyPostfix]
|
||||
private static void Update(TravelStore __instance)
|
||||
{
|
||||
|
|
@ -21,7 +22,7 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
|||
Transform moneyTransform = __instance.transform.Find("Money");
|
||||
if (moneyTransform != null)
|
||||
{
|
||||
StringStore.TranslateTextTransform(moneyTransform);
|
||||
StringStore.TranslateTextTransform(moneyTransform);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -34,5 +35,5 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
|||
text.text = StringStore.TranslateText(text.text);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,20 +1,28 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(UIDifficulty))]
|
||||
[HarmonyPatch(typeof(UIDifficulty))]
|
||||
public static class UIDifficulty_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(UIDifficulty.Update))]
|
||||
[HarmonyPostfix]
|
||||
private static void Update(UIDifficulty __instance)
|
||||
{
|
||||
|
||||
#if MULTI_LANGUAGE
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
string difficultyText = StringStore.patchesStore["Difficulty"][Utils.Language.ToString()];
|
||||
|
||||
__instance.t.text = string.Format(difficultyText + " {0}", GameAPP.difficulty);
|
||||
#else
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont();
|
||||
string difficultyText = StringStore.patchesStore["Difficulty"]["Spanish"];
|
||||
__instance.t.text = string.Format("Difficulty: {0}", GameAPP.difficulty);
|
||||
#endif
|
||||
|
||||
__instance.t.autoSizeTextContainer = false;
|
||||
__instance.t.font = fontAsset;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,20 +1,28 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.GameObjects
|
||||
{
|
||||
[HarmonyPatch(typeof(UIZombieNum))]
|
||||
[HarmonyPatch(typeof(UIZombieNum))]
|
||||
public static class UIZombieNum_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(UIZombieNum.Update))]
|
||||
[HarmonyPostfix]
|
||||
private static void Update(UIZombieNum __instance)
|
||||
{
|
||||
|
||||
#if MULTI_LANGUAGE
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
string zombieText = StringStore.patchesStore["Zombies"][Utils.Language.ToString()];
|
||||
|
||||
__instance.t.text = string.Format(zombieText + " {0}", Board.Instance.enermyCount);
|
||||
#else
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont();
|
||||
string zombieText = StringStore.patchesStore["Zombies"]["Spanish"];
|
||||
__instance.t.text = string.Format(zombieText + " {0}", Board.Instance.enermyCount);
|
||||
#endif
|
||||
|
||||
__instance.t.font = fontAsset;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
19
BepInEx/Patches/Managers/AbyssDevelopMenu_Patch.cs
Normal file
19
BepInEx/Patches/Managers/AbyssDevelopMenu_Patch.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
||||
{
|
||||
[HarmonyPatch(typeof(AbyssDevelopMenu))]
|
||||
public static class AbyssDevelopMenu_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(AbyssDevelopMenu.UpdateInfo))]
|
||||
[HarmonyPostfix]
|
||||
private static void UpdateInfo(AbyssDevelopMenu __instance)
|
||||
{
|
||||
__instance.currentMoney.text = StringStore.TranslateText(__instance.currentMoney.text);
|
||||
__instance.upgradeTextInfo.text = StringStore.TranslateText(__instance.upgradeTextInfo.text);
|
||||
}
|
||||
}
|
||||
}
|
||||
74
BepInEx/Patches/Managers/AbyssMenu2_Patch.cs
Normal file
74
BepInEx/Patches/Managers/AbyssMenu2_Patch.cs
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
||||
{
|
||||
[HarmonyPatch(typeof(AbyssMenu2))]
|
||||
public static class AbyssMenu2_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(AbyssMenu2.Start))]
|
||||
[HarmonyPostfix]
|
||||
private static void Start(AbyssMenu2 __instance)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
__instance.buffCountText.text = StringStore.TranslateText(__instance.buffCountText.text);
|
||||
__instance.buffCountText.font = fontAsset;
|
||||
|
||||
__instance.money.text = StringStore.TranslateText(__instance.money.text);
|
||||
__instance.money.font = fontAsset;
|
||||
|
||||
__instance.refreshText.text = StringStore.TranslateText(__instance.refreshText.text);
|
||||
__instance.refreshText.font = fontAsset;
|
||||
|
||||
__instance.statistics.text = StringStore.TranslateText(__instance.statistics.text);
|
||||
__instance.statistics.font = fontAsset;
|
||||
|
||||
Transform buffTextTransform = __instance.transform.FindChild("BuffText").transform;
|
||||
if (buffTextTransform != null) StringStore.TranslateTextTransform(buffTextTransform);
|
||||
|
||||
Transform moneyTransform = __instance.transform.FindChild("Money").transform;
|
||||
if (moneyTransform != null) StringStore.TranslateTextTransform(moneyTransform);
|
||||
|
||||
Transform buffCountTextTransform = __instance.transform.FindChild("BuffCountText").transform;
|
||||
if (buffCountTextTransform != null) StringStore.TranslateTextTransform(buffCountTextTransform);
|
||||
|
||||
Transform refreshTextTransform = __instance.transform.FindChild("RefreshText").transform;
|
||||
if (refreshTextTransform != null) StringStore.TranslateTextTransform(refreshTextTransform);
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(AbyssMenu2.Awake))]
|
||||
[HarmonyPostfix]
|
||||
private static void Awake(AbyssMenu2 __instance)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
__instance.buffCountText.text = StringStore.TranslateText(__instance.buffCountText.text);
|
||||
__instance.buffCountText.font = fontAsset;
|
||||
|
||||
__instance.money.text = StringStore.TranslateText(__instance.money.text);
|
||||
__instance.money.font = fontAsset;
|
||||
|
||||
__instance.refreshText.text = StringStore.TranslateText(__instance.refreshText.text);
|
||||
__instance.refreshText.font = fontAsset;
|
||||
|
||||
__instance.statistics.text = StringStore.TranslateText(__instance.statistics.text);
|
||||
__instance.statistics.font = fontAsset;
|
||||
|
||||
Transform buffTextTransform = __instance.transform.FindChild("BuffText").transform;
|
||||
if (buffTextTransform != null) StringStore.TranslateTextTransform(buffTextTransform);
|
||||
|
||||
Transform moneyTransform = __instance.transform.FindChild("Money").transform;
|
||||
if (moneyTransform != null) StringStore.TranslateTextTransform(moneyTransform);
|
||||
|
||||
Transform buffCountTextTransform = __instance.transform.FindChild("BuffCountText").transform;
|
||||
if (buffCountTextTransform != null) StringStore.TranslateTextTransform(buffCountTextTransform);
|
||||
|
||||
Transform refreshTextTransform = __instance.transform.FindChild("RefreshText").transform;
|
||||
if (refreshTextTransform != null) StringStore.TranslateTextTransform(refreshTextTransform);
|
||||
}
|
||||
}
|
||||
}
|
||||
26
BepInEx/Patches/Managers/AbyssMenu_Patch.cs
Normal file
26
BepInEx/Patches/Managers/AbyssMenu_Patch.cs
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
||||
{
|
||||
[HarmonyPatch(typeof(AbyssMenu))]
|
||||
public static class AbyssMenu_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(AbyssMenu.Awake))]
|
||||
[HarmonyPostfix]
|
||||
private static void Awake(AbyssMenu __instance)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
foreach (TextMeshProUGUI txt in __instance.levelInfo)
|
||||
{
|
||||
txt.text = StringStore.TranslateText(txt.text, false);
|
||||
txt.font = fontAsset;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,9 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using HarmonyLib;
|
||||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using static PvZ_Fusion_Translator__BepInEx_.FileLoader;
|
||||
|
|
@ -19,8 +15,13 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
|||
[HarmonyPrefix]
|
||||
private static bool InitNameAndInfoFromJson(AlmanacMgrZombie __instance)
|
||||
{
|
||||
#if MULTI_LANGUAGE
|
||||
string currentLanguage = Utils.Language.ToString();
|
||||
string almanacDir = GetAssetDir(AssetType.Almanac, Utils.Language);
|
||||
#else
|
||||
string almanacDir = almanacDir = GetAssetDir(AssetType.Almanac);
|
||||
string currentLanguage = "English";
|
||||
#endif
|
||||
string path = Path.Combine(almanacDir, "ZombieStringsTranslate.json");
|
||||
|
||||
if (!File.Exists(path))
|
||||
|
|
@ -48,7 +49,11 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
|||
hasAlmanacFont = true;
|
||||
}
|
||||
|
||||
#if MULTI_LANGUAGE
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(currentLanguage);
|
||||
#else
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont();
|
||||
#endif
|
||||
|
||||
TextMeshPro component = __instance.info.GetComponent<TextMeshPro>();
|
||||
TextMeshPro component2 = __instance.zombieName.GetComponent<TextMeshPro>();
|
||||
|
|
|
|||
|
|
@ -1,34 +1,40 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using System.IO;
|
||||
|
||||
using TMPro;
|
||||
using System.IO;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
using static PvZ_Fusion_Translator__BepInEx_.FileLoader;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
||||
{
|
||||
[HarmonyPatch(typeof(AlmanacMgr))]
|
||||
public static partial class AlmanacMgr_Patch
|
||||
[HarmonyPatch(typeof(AlmanacPlantBank))]
|
||||
public static partial class AlmanacPlantBank_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(AlmanacMgr.InitNameAndInfoFromJson))]
|
||||
[HarmonyPrefix]
|
||||
private static bool InitNameAndInfoFromJson(AlmanacMgr __instance)
|
||||
[HarmonyPatch(nameof(AlmanacPlantBank.InitNameAndInfoFromJson))]
|
||||
[HarmonyPostfix]
|
||||
private static void InitNameAndInfoFromJson(AlmanacPlantBank __instance)
|
||||
{
|
||||
#if MULTI_LANGUAGE
|
||||
string currentLanguage = Utils.Language.ToString();
|
||||
string almanacDir = GetAssetDir(AssetType.Almanac, Utils.Language);
|
||||
#else
|
||||
string almanacDir = GetAssetDir(AssetType.Almanac);
|
||||
string currentLanguage = "English";
|
||||
#endif
|
||||
string path = Path.Combine(almanacDir, "LawnStringsTranslate.json");
|
||||
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
Log.LogError($"LawnStringsTranslate.json file not found at path: {path}");
|
||||
return true;
|
||||
return;
|
||||
}
|
||||
|
||||
#if OBFUSCATE
|
||||
if (CheckSumStore.IsModified(path))
|
||||
{
|
||||
Log.LogError("File {0} was modified!", path);
|
||||
return true;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -43,28 +49,42 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
|||
hasAlmanacFont = true;
|
||||
}
|
||||
|
||||
#if MULTI_LANGUAGE
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(currentLanguage);
|
||||
#else
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont();
|
||||
#endif
|
||||
|
||||
TextMeshPro component = __instance.info.GetComponent<TextMeshPro>();
|
||||
TextMeshPro component = __instance.introduce.GetComponent<TextMeshPro>();
|
||||
TextMeshPro component2 = __instance.plantName.GetComponent<TextMeshPro>();
|
||||
TextMeshPro component3 = __instance.plantName.transform.GetChild(0).GetComponent<TextMeshPro>();
|
||||
TextMeshPro component4 = __instance.cost.GetComponent<TextMeshPro>();
|
||||
|
||||
AlmanacMgr.PlantData plantData = JsonUtility.FromJson<AlmanacMgr.PlantData>(json);
|
||||
AlmanacPlantBank.PlantData plantData = JsonUtility.FromJson<AlmanacPlantBank.PlantData>(json);
|
||||
|
||||
foreach (AlmanacMgr.PlantInfo plantInfo in plantData.plants)
|
||||
foreach (AlmanacPlantBank.PlantInfo plantInfo in plantData.plants)
|
||||
{
|
||||
if (plantInfo.seedType == __instance.theSeedType)
|
||||
{
|
||||
component.text = plantInfo.info + "\n\n" + plantInfo.introduce;
|
||||
component.autoSizeTextContainer = false;
|
||||
component.text = plantInfo.info + "\n\n" + plantInfo.introduce;
|
||||
component.overflowMode = TextOverflowModes.Page;
|
||||
component2.text = plantInfo.name;
|
||||
|
||||
//fix dimensions for cost text
|
||||
component.rectTransform.offsetMax = new Vector2(component.rectTransform.offsetMax.x, 27.3839f);
|
||||
component.rectTransform.offsetMin = new Vector2(component.rectTransform.offsetMin.x, -29.3079f);
|
||||
component.rectTransform.sizeDelta = new Vector2(component.rectTransform.sizeDelta.x, 50.917f);
|
||||
component.transform.localPosition = new Vector3(component.transform.localPosition.x, component.transform.localPosition.y + 0.15f, component.transform.localPosition.z);
|
||||
|
||||
component2.text = plantInfo.name;
|
||||
component2.autoSizeTextContainer = true;
|
||||
|
||||
component3.text = Utils.RemoveColorTags(plantInfo.name);
|
||||
component3.autoSizeTextContainer = true;
|
||||
|
||||
component4.text = plantInfo.cost;
|
||||
|
||||
if (hasAlmanacFont)
|
||||
if (hasAlmanacFont)
|
||||
{
|
||||
component.font = almanacFontAsset;
|
||||
component4.font = almanacFontAsset;
|
||||
|
|
@ -76,18 +96,17 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
|||
}
|
||||
component2.font = fontAsset;
|
||||
component3.font = fontAsset;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
return;
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(AlmanacMgr.OnMouseDown))]
|
||||
[HarmonyPatch(nameof(AlmanacPlantBank.OnMouseDown))]
|
||||
[HarmonyPrefix]
|
||||
private static bool OnMouseDown(AlmanacMgr __instance)
|
||||
private static bool OnMouseDown(AlmanacPlantBank __instance)
|
||||
{
|
||||
TextMeshPro component = __instance.info.GetComponent<TextMeshPro>();
|
||||
TextMeshPro component = __instance.introduce.GetComponent<TextMeshPro>();
|
||||
if (component != null)
|
||||
{
|
||||
component.pageToDisplay = component.pageToDisplay > component.m_pageNumber ? 1 : component.pageToDisplay + 1;
|
||||
|
|
@ -95,5 +114,16 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
|||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(AlmanacPlantBank.PVPInit))]
|
||||
[HarmonyPostfix]
|
||||
private static void PVPInit(AlmanacPlantBank __instance)
|
||||
{
|
||||
TextMeshPro component = __instance.introduce.GetComponent<TextMeshPro>();
|
||||
if (component != null)
|
||||
{
|
||||
component.autoSizeTextContainer = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
23
BepInEx/Patches/Managers/CustomLevelShower_Patch.cs
Normal file
23
BepInEx/Patches/Managers/CustomLevelShower_Patch.cs
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
#if FIX
|
||||
using HarmonyLib;
|
||||
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
||||
{
|
||||
[HarmonyPatch(typeof(CustomLevelShower))]
|
||||
public static class CustomLevelShower_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(CustomLevelShower.Show))]
|
||||
[HarmonyPostfix]
|
||||
private static void Show(CustomLevelShower __instance)
|
||||
{
|
||||
foreach (Transform transform in __instance.pages)
|
||||
{
|
||||
StringStore.TranslateTextTransform(transform);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
||||
{
|
||||
[HarmonyPatch(typeof(DifficultyMgr))]
|
||||
[HarmonyPatch(typeof(DifficultyMgr))]
|
||||
public static class DifficultyMgr_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(DifficultyMgr.Update))]
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
||||
{
|
||||
[HarmonyPatch(typeof(EndlessMgr))]
|
||||
[HarmonyPatch(typeof(EndlessMgr))]
|
||||
public static class EndlessMgr_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(EndlessMgr.Awake))]
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
||||
{
|
||||
[HarmonyPatch(typeof(IZEMgr))]
|
||||
[HarmonyPatch(typeof(IZEMgr))]
|
||||
public static class IZEMgr_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(IZEMgr.Start))]
|
||||
|
|
@ -12,8 +14,8 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
|||
public static void Start(IZEMgr __instance)
|
||||
{
|
||||
TextMeshProUGUI[] array =
|
||||
[
|
||||
__instance.transform.GetChild(0).GetComponent<TextMeshProUGUI>(),
|
||||
[
|
||||
__instance.transform.GetChild(0).GetComponent<TextMeshProUGUI>(),
|
||||
__instance.transform.GetChild(0).GetChild(0).GetComponent<TextMeshProUGUI>(),
|
||||
];
|
||||
for (int i = 0; i < array.Length; i++)
|
||||
|
|
@ -23,4 +25,4 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,15 +1,16 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
||||
{
|
||||
[HarmonyPatch(typeof(InGameUIMgr))]
|
||||
[HarmonyPatch(typeof(InGameUI))]
|
||||
public static class InGameUIMgr_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(InGameUIMgr.Start))]
|
||||
[HarmonyPatch(nameof(InGameUI.Start))]
|
||||
[HarmonyPostfix]
|
||||
private static void Start(InGameUIMgr __instance)
|
||||
private static void Start(InGameUI __instance)
|
||||
{
|
||||
TextMeshProUGUI[] array = new TextMeshProUGUI[]
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,13 +1,74 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using System;
|
||||
using TMPro;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
||||
{
|
||||
[HarmonyPatch(typeof(OppositeBuffManager))]
|
||||
public static class OppositeBuffManager_Patch
|
||||
{
|
||||
#if TESTING
|
||||
[HarmonyPatch(nameof(OppositeBuffManager.InitBuffPool))]
|
||||
[HarmonyPostfix]
|
||||
private static void InitBuffPool(OppositeBuffManager __instance)
|
||||
{
|
||||
foreach(TextMeshProUGUI text in __instance.textA_bad)
|
||||
{
|
||||
string stripText = text.text.Replace("但", "");
|
||||
string translatedText = StringStore.TranslateText(stripText);
|
||||
string replacementText = StringStore.translationString["但"] + translatedText;
|
||||
text.text = replacementText;
|
||||
}
|
||||
foreach(TextMeshProUGUI text in __instance.textA_good)
|
||||
{
|
||||
text.text = StringStore.TranslateText(text.text);
|
||||
}
|
||||
|
||||
foreach(TextMeshProUGUI text in __instance.textB_bad)
|
||||
{
|
||||
string stripText = text.text.Replace("但", "");
|
||||
string translatedText = StringStore.TranslateText(stripText);
|
||||
string replacementText = StringStore.translationString["但"] + translatedText;
|
||||
text.text = replacementText;
|
||||
}
|
||||
foreach(TextMeshProUGUI text in __instance.textB_good)
|
||||
{
|
||||
text.text = StringStore.TranslateText(text.text);
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(OppositeBuffManager.SetText), new Type[] { typeof(TextMeshProUGUI), typeof(BuffType), typeof(int)})]
|
||||
[HarmonyPostfix]
|
||||
private static void SetText(OppositeBuffManager __instance)
|
||||
{
|
||||
foreach(TextMeshProUGUI text in __instance.textA_bad)
|
||||
{
|
||||
string stripText = text.text.Replace("但", "");
|
||||
string translatedText = StringStore.TranslateText(stripText);
|
||||
string replacementText = StringStore.translationString["但"] + translatedText;
|
||||
text.text = replacementText;
|
||||
}
|
||||
foreach(TextMeshProUGUI text in __instance.textA_good)
|
||||
{
|
||||
text.text = StringStore.TranslateText(text.text);
|
||||
}
|
||||
|
||||
foreach(TextMeshProUGUI text in __instance.textB_bad)
|
||||
{
|
||||
string stripText = text.text.Replace("但", "");
|
||||
string translatedText = StringStore.TranslateText(stripText);
|
||||
string replacementText = StringStore.translationString["但"] + translatedText;
|
||||
text.text = replacementText;
|
||||
}
|
||||
foreach(TextMeshProUGUI text in __instance.textB_good)
|
||||
{
|
||||
text.text = StringStore.TranslateText(text.text);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
[HarmonyPatch(nameof(OppositeBuffManager.SetText), new Type[] { typeof(TextMeshProUGUI), typeof(BuffType), typeof(int)})]
|
||||
[HarmonyPostfix]
|
||||
private static void SetText(OppositeBuffManager __instance, ref TextMeshProUGUI text)
|
||||
|
|
@ -24,5 +85,6 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
|||
StringStore.TranslateTextUI(__instance.textB_bad[0]);
|
||||
StringStore.TranslateTextUI(__instance.textB_bad[1]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
28
BepInEx/Patches/Managers/SaveMenu_Patch.cs
Normal file
28
BepInEx/Patches/Managers/SaveMenu_Patch.cs
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
||||
{
|
||||
[HarmonyPatch(typeof(SaveMenu))]
|
||||
public static class SaveMenu_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(SaveMenu.Start))]
|
||||
[HarmonyPostfix]
|
||||
private static void Start(SaveMenu __instance)
|
||||
{
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
|
||||
|
||||
__instance.title.text = StringStore.TranslateText(__instance.title.text);
|
||||
__instance.title.font = fontAsset;
|
||||
__instance.title_shadow.text = StringStore.TranslateText(__instance.title_shadow.text);
|
||||
__instance.title_shadow.font = fontAsset;
|
||||
|
||||
foreach(SaveMenuBtn level in __instance.levels)
|
||||
{
|
||||
level.theName.text = StringStore.TranslateText(level.theName.text);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,26 +1,26 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
using System;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
||||
{
|
||||
[HarmonyPatch(typeof(TravelBuffMgr))]
|
||||
[HarmonyPatch(typeof(TravelBuffMgr))]
|
||||
public static class TravelBuffMgr_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(TravelBuffMgr.Awake))]
|
||||
[HarmonyPostfix]
|
||||
private static void Awake(TravelBuffMgr __instance)
|
||||
{
|
||||
__instance.text = StringStore.TranslateText(__instance.text);
|
||||
__instance.text2 = StringStore.TranslateText(__instance.text2);
|
||||
__instance.text = AssetStore.StringStore.TranslateText(__instance.text);
|
||||
__instance.text2 = AssetStore.StringStore.TranslateText(__instance.text2);
|
||||
}
|
||||
|
||||
[HarmonyPatch(nameof(TravelBuffMgr.ShowText), new Type[] { typeof(int), typeof(int) })]
|
||||
[HarmonyPostfix]
|
||||
private static void ShowText(TravelBuffMgr __instance)
|
||||
{
|
||||
__instance.text = StringStore.TranslateText(__instance.text);
|
||||
__instance.text2 = StringStore.TranslateText(__instance.text2);
|
||||
__instance.text = AssetStore.StringStore.TranslateText(__instance.text);
|
||||
__instance.text2 = AssetStore.StringStore.TranslateText(__instance.text2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,50 +0,0 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using TMPro;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
||||
{
|
||||
[HarmonyPatch(typeof(TravelMenuMgr))]
|
||||
public static class TravelMenuMgr_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(TravelMenuMgr.Start))]
|
||||
[HarmonyPostfix]
|
||||
private static void Start(TravelMenuMgr __instance)
|
||||
{
|
||||
foreach(TextMeshProUGUI text in __instance.textMesh)
|
||||
{
|
||||
text.text = StringStore.TranslateText(text.text);
|
||||
}
|
||||
foreach(TextMeshProUGUI text in __instance.textMeshShadow)
|
||||
{
|
||||
text.text = StringStore.TranslateText(text.text);
|
||||
}
|
||||
}
|
||||
[HarmonyPatch(nameof(TravelMenuMgr.SetText))]
|
||||
[HarmonyPostfix]
|
||||
private static void SetText(TravelMenuMgr __instance)
|
||||
{
|
||||
foreach(TextMeshProUGUI text in __instance.textMesh)
|
||||
{
|
||||
text.text = StringStore.TranslateText(text.text);
|
||||
}
|
||||
foreach(TextMeshProUGUI text in __instance.textMeshShadow)
|
||||
{
|
||||
text.text = StringStore.TranslateText(text.text);
|
||||
}
|
||||
}
|
||||
[HarmonyPatch(nameof(TravelMenuMgr.SetRichText), [typeof(int), typeof(int), typeof(TextMeshProUGUI), typeof(string)])]
|
||||
[HarmonyPostfix]
|
||||
private static void SetRichText(TravelMenuMgr __instance)
|
||||
{
|
||||
foreach(TextMeshProUGUI text in __instance.textMesh)
|
||||
{
|
||||
text.text = StringStore.TranslateText(text.text);
|
||||
}
|
||||
foreach(TextMeshProUGUI text in __instance.textMeshShadow)
|
||||
{
|
||||
text.text = StringStore.TranslateText(text.text);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
||||
|
|
@ -6,12 +7,16 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.Managers
|
|||
[HarmonyPatch(typeof(UIMgr))]
|
||||
public class UIMgr_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(UIMgr.EnterMainMenu))]
|
||||
[HarmonyPostfix]
|
||||
private static void EnterMainMenu(UIMgr __instance)
|
||||
{
|
||||
// Log.LogInfo("Entered Main Menu");
|
||||
WarningStore.WarningReload(Utils.Language);
|
||||
}
|
||||
//[HarmonyPatch(nameof(UIMgr.EnterMainMenu))]
|
||||
//[HarmonyPostfix]
|
||||
//private static void EnterMainMenu(UIMgr __instance)
|
||||
//{
|
||||
// // Log.LogInfo("Entered Main Menu");
|
||||
// #if MULTI_LANGUAGE
|
||||
// WarningStore.WarningReload(Utils.Language);
|
||||
// #else
|
||||
// WarningStore.WarningReload();
|
||||
// #endif
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +1,12 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text.Json;
|
||||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using Newtonsoft.Json;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using static PvZ_Fusion_Translator__BepInEx_.FileLoader;
|
||||
using static PvZ_Fusion_Translator__BepInEx_.Patches.Managers.AlmanacPlantBank_Patch;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.OtherManagers
|
||||
{
|
||||
|
|
@ -15,9 +17,14 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.OtherManagers
|
|||
[HarmonyPostfix]
|
||||
private static void Start(AchievementClip __instance)
|
||||
{
|
||||
#if MULTI_LANGUAGE
|
||||
string currentLanguage = Utils.Language.ToString();
|
||||
string achievementDir = GetAssetDir(AssetType.Almanac, Utils.Language);
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(currentLanguage);
|
||||
#else
|
||||
string achievementDir = GetAssetDir(AssetType.Almanac);
|
||||
TMP_FontAsset fontAsset = FontStore.LoadTMPFont();
|
||||
#endif
|
||||
string path = Path.Combine(achievementDir, "AchievementsTextTranslate.json");
|
||||
|
||||
#if OBFUSCATE
|
||||
|
|
@ -32,12 +39,14 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.OtherManagers
|
|||
|
||||
string json;
|
||||
json = File.ReadAllText(path);
|
||||
Dictionary<Achievement, AchievementObject> achievementsTexts = JsonSerializer.Deserialize<Dictionary<Achievement, AchievementObject>>(json);
|
||||
Dictionary<Achievement, AchievementObject> achievementsTexts = new Dictionary<Achievement, AchievementObject>();
|
||||
achievementsTexts = JsonConvert.DeserializeObject<Dictionary<Achievement, AchievementObject>>(json);
|
||||
|
||||
TextMeshProUGUI text1 = __instance.introduce.transform.GetChild(1).GetComponent<TextMeshProUGUI>();
|
||||
TextMeshProUGUI text2 = __instance.introduce.transform.GetChild(2).GetComponent<TextMeshProUGUI>();
|
||||
TextMeshProUGUI name1 = __instance.image.transform.GetChild(0).GetComponent<TextMeshProUGUI>();
|
||||
|
||||
|
||||
text1.text = achievementsTexts[__instance._index].Name;
|
||||
text1.font = fontAsset;
|
||||
text2.text = achievementsTexts[__instance._index].Name;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
using HarmonyLib;
|
||||
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.OtherManagers
|
||||
{
|
||||
[HarmonyPatch(typeof(GardenUI))]
|
||||
[HarmonyPatch(typeof(GardenUI))]
|
||||
public static class GardenUI_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(GardenUI.Update))]
|
||||
|
|
@ -12,6 +14,9 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.OtherManagers
|
|||
{
|
||||
__instance.currentPageText = StringStore.TranslateText(__instance.currentPageText, false);
|
||||
__instance.currentPageText2 = StringStore.TranslateText(__instance.currentPageText2, false);
|
||||
|
||||
// Transform PageText = __instance.transform.Find("PageText");
|
||||
// StringStore.TranslateTextTransform(PageText.transform);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,23 @@
|
|||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
using System;
|
||||
#if FIX
|
||||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.OtherManagers
|
||||
{
|
||||
[HarmonyPatch(typeof(MenuText))]
|
||||
public static class MenuText_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(MenuText.UpdateText), new Type[] { typeof(string) })]
|
||||
[HarmonyPostfix]
|
||||
private static void UpdateTextPatch(MenuText __instance)
|
||||
{
|
||||
TextMeshProUGUI text_1 = __instance.transform.GetChild(0).Find("text1").GetComponent<TextMeshProUGUI>();
|
||||
text_1.text = StringStore.TranslateText(text_1.text);
|
||||
TextMeshProUGUI text = __instance.transform.GetChild(0).Find("text").GetComponent<TextMeshProUGUI>();
|
||||
text.text = StringStore.TranslateText(text_1.text);
|
||||
}
|
||||
}
|
||||
[HarmonyPatch(typeof(MenuText))]
|
||||
public static class MenuText_Patch
|
||||
{
|
||||
[HarmonyPatch(nameof(MenuText.UpdateText), new Type[] { typeof(string) })]
|
||||
[HarmonyPostfix]
|
||||
private static void UpdateTextPatch(MenuText __instance)
|
||||
{
|
||||
TextMeshProUGUI text_1 = __instance.transform.GetChild(0).Find("text1").GetComponent<TextMeshProUGUI>();
|
||||
text_1.text = StringStore.TranslateText(text_1.text);
|
||||
TextMeshProUGUI text = __instance.transform.GetChild(0).Find("text").GetComponent<TextMeshProUGUI>();
|
||||
text.text = StringStore.TranslateText(text_1.text);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1,10 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using HarmonyLib;
|
||||
|
||||
using TMPro;
|
||||
using HarmonyLib;
|
||||
using PvZ_Fusion_Translator__BepInEx_.AssetStore;
|
||||
|
||||
namespace PvZ_Fusion_Translator__BepInEx_.Patches.OtherManagers
|
||||
|
|
@ -24,4 +20,4 @@ namespace PvZ_Fusion_Translator__BepInEx_.Patches.OtherManagers
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -13,15 +13,103 @@
|
|||
https://nuget.samboy.dev/v3/index.json
|
||||
</RestoreAdditionalProjectSources>
|
||||
<RootNamespace>PvZ_Fusion_Translator__BepInEx_</RootNamespace>
|
||||
<GamePath>C:\Users\Estudio\Documents\LHC G\PVZF-Translation\PC_PVZ-Fusion_2.3</GamePath>
|
||||
<GamePath>C:\Users\rainb\Desktop\PC_PVZ-Fusion_2.5-BepInEx</GamePath>
|
||||
<Configurations>Debug;DebugEnglish;ReleaseMulti;ReleaseEnglish;DebugTesting;ReleaseOther;DebugObfuscate;ReleaseObfuscate;DebugMulti</Configurations>
|
||||
<Platforms>AnyCPU;x64</Platforms>
|
||||
<Configurations>Debug;Release;DebugObfuscate;ReleaseObfuscate</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="BepInEx.Unity.IL2CPP" Version="6.0.0-be.*" IncludeAssets="compile" />
|
||||
<PackageReference Include="BepInEx.PluginInfoProps" Version="2.*" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;CHEAT;DEBUG</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugObfuscate|AnyCPU'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;CHEAT;DEBUG;OBFUSCATE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;CHEAT;DEBUG</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugObfuscate|x64'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;CHEAT;DEBUG;OBFUSCATE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;CHEAT;DEBUG</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugObfuscate|ARM64'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;CHEAT;DEBUG;OBFUSCATE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugTesting|AnyCPU'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;CHEAT;TESTING;DEBUG</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugTesting|x64'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;CHEAT;TESTING;DEBUG</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugTesting|ARM64'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;CHEAT;TESTING;DEBUG</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugEnglish|AnyCPU'">
|
||||
<DefineConstants>$(DefineConstants);CHEAT;DEBUG</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugEnglish|x64'">
|
||||
<DefineConstants>$(DefineConstants);CHEAT;DEBUG</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugEnglish|ARM64'">
|
||||
<DefineConstants>$(DefineConstants);CHEAT;DEBUG</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMulti|AnyCPU'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;OBFUSCATE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugMulti|AnyCPU'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;OBFUSCATE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMulti|x64'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;OBFUSCATE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugMulti|x64'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;OBFUSCATE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMulti|ARM64'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;OBFUSCATE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugMulti|ARM64'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;OBFUSCATE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseOther|AnyCPU'">
|
||||
<DefineConstants>$(DefineConstants);OTHER;OBFUSCATE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseOther|x64'">
|
||||
<DefineConstants>$(DefineConstants);OTHER;OBFUSCATE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseOther|ARM64'">
|
||||
<DefineConstants>$(DefineConstants);OTHER;OBFUSCATE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseObfuscate|x64'">
|
||||
<DefineConstants>$(DefineConstants);MULTI_LANGUAGE;OBFUSCATE;RELEASE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="0Harmony">
|
||||
|
|
@ -372,6 +460,15 @@
|
|||
<Reference Include="__Generated">
|
||||
<HintPath>$(GamePath)\BepInEx\interop\__Generated.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Assembly-CSharp">
|
||||
<HintPath>$(GamePath)\BepInEx\interop\Assembly-CSharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="AudioImportLib.BepInEx">
|
||||
<HintPath>$(GamePath)\BepInEx\plugins\AudioImportLib.BepInEx.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json">
|
||||
<HintPath>$(GamePath)\BepInEx\core\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue