Merge branch 'cassidy'

This commit is contained in:
Teyliu 2025-04-20 08:43:38 -05:00
commit a9be11183c
17 changed files with 905 additions and 197 deletions

5
.gitignore vendored
View file

@ -360,4 +360,7 @@ MigrationBackup/
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd
FodyWeavers.xsd
PvZ-Fusion-Blooms-master/MelonLoader/PvZ Fusion Translator \[MelonLoader\].csproj

View file

@ -1,6 +1,10 @@
using Il2Cpp;
using System.Runtime.CompilerServices;
using Il2Cpp;
using Il2CppTMPro;
using MelonLoader;
using UnityEngine;
using UnityEngine.TextCore.Text;
using static MelonLoader.MelonLogger;
namespace PvZ_Fusion_Translator.AssetStore
{
@ -114,39 +118,55 @@ namespace PvZ_Fusion_Translator.AssetStore
}
#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/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);
//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);
TMP_FontAsset fontAsset = FontStore.LoadTMPFont(Utils.Language.ToString());
Transform warningTransform = noticeMenu.transform.FindChild("窗口");
Transform warningTextTransform = warningTransform.FindChild("文字");
Transform warningTextShadowTransform = warningTransform.FindChild("文字2");
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());
//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);
//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);
@ -157,7 +177,7 @@ namespace PvZ_Fusion_Translator.AssetStore
}
if (!isWarningMessageLoaded)
{
WarningLoad();
WarningLoad(noticeMenu);
isWarningMessageLoaded = true;
}

View file

@ -0,0 +1,19 @@
using HarmonyLib;
using Il2Cpp;
using Il2CppTMPro;
using PvZ_Fusion_Translator.AssetStore;
namespace PvZ_Fusion_Translator.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);
}
}
}

View file

@ -0,0 +1,81 @@
using HarmonyLib;
using Il2Cpp;
using Il2CppTMPro;
using MelonLoader;
using PvZ_Fusion_Translator.AssetStore;
using UnityEngine;
namespace PvZ_Fusion_Translator.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);
}
}
}
[HarmonyPatch(nameof(AbyssMenu2.Start))]
[HarmonyPostfix]
private static void Start(AbyssMenu2 __instance)
{
UpdateAbyss2Text(__instance);
}
[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);
}
}
}

View file

@ -0,0 +1,41 @@
using HarmonyLib;
using Il2Cpp;
using Il2CppTMPro;
using MelonLoader;
using PvZ_Fusion_Translator.AssetStore;
using Unity.VisualScripting;
using UnityEngine;
using static MelonLoader.MelonLogger;
namespace PvZ_Fusion_Translator.Patches.GameObjects
{
[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;
}
}
[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)
{
}
}
}
}

View file

@ -1,26 +0,0 @@
using HarmonyLib;
using Il2Cpp;
using Il2CppTMPro;
using PvZ_Fusion_Translator.AssetStore;
using UnityEngine;
namespace PvZ_Fusion_Translator.Patches.GameObjects.ButtonObjects
{
[HarmonyPatch(typeof(AbyssButton))]
public static class AbyssButton_Patch
{
[HarmonyPatch(nameof(AbyssButton.Start))]
[HarmonyPostfix]
private static void Start(AbyssButton __instance)
{
StringStore.TranslateTextTransform(__instance.transform, true);
Transform parentTransform = __instance.transform.parent.transform;
if (__instance.name == "Goback")
{
Transform backgroundTransform = parentTransform.Find("Background");
backgroundTransform.Find("Name").GetComponent<TMP_Text>().autoSizeTextContainer = true;
backgroundTransform.Find("Shadow").GetComponent<TMP_Text>().autoSizeTextContainer = true;
}
}
}
}

View file

@ -0,0 +1,19 @@
using HarmonyLib;
using Il2Cpp;
using Il2CppTMPro;
using PvZ_Fusion_Translator.AssetStore;
using UnityEngine;
namespace PvZ_Fusion_Translator.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);
}
}
}

View file

@ -0,0 +1,20 @@
using HarmonyLib;
using Il2Cpp;
using Il2CppTMPro;
using PvZ_Fusion_Translator.AssetStore;
using UnityEngine;
namespace PvZ_Fusion_Translator.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);
}
}
}

View file

@ -0,0 +1,22 @@
using HarmonyLib;
using Il2Cpp;
using Il2CppTMPro;
using PvZ_Fusion_Translator.AssetStore;
using UnityEngine;
namespace PvZ_Fusion_Translator.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);
}
}
}

View file

@ -14,8 +14,8 @@ namespace PvZ_Fusion_Translator.Patches.GameObjects
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];

View file

@ -0,0 +1,44 @@
using HarmonyLib;
using Il2Cpp;
using Il2CppTMPro;
using PvZ_Fusion_Translator.AssetStore;
namespace PvZ_Fusion_Translator.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);
// }
//}
}
}

View file

@ -6,48 +6,93 @@ using UnityEngine;
namespace PvZ_Fusion_Translator.Patches.GameObjects
{
[HarmonyPatch(typeof(TravelRefresh))]
[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);
//TextMeshProUGUI pointsText = __instance.transform.GetChild(0).GetComponent<TextMeshProUGUI>();
//pointsText = StringStore.TranslateText(pointsText);
//pointsText.autoSizeTextContainer = true;
Transform TravelMenuTransform = __instance.transform.parent.transform;
//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 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>();
Transform text_2Transform = refreshTransform.Find("text_2");
if (text_2Transform != null)
{
TextMeshProUGUI text_2 = text_2Transform.GetComponent<TextMeshProUGUI>();
// if (text_1)
// {
// text_1 = StringStore.TranslateText(text_1);
// text_1.autoSizeTextContainer = true;
// }
// }
if (text_2)
{
text_2 = StringStore.TranslateText(text_2);
text_2.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;
// }
// }
//}
}
}
}

View file

@ -18,6 +18,11 @@ namespace PvZ_Fusion_Translator.Patches.Managers
__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);
}
}
}
}

View file

@ -1,51 +0,0 @@
using HarmonyLib;
using Il2Cpp;
using Il2CppTMPro;
using PvZ_Fusion_Translator.AssetStore;
namespace PvZ_Fusion_Translator.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);
}
}
}
}

View file

@ -7,16 +7,16 @@ namespace PvZ_Fusion_Translator.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");
#if MULTI_LANGUAGE
WarningStore.WarningReload(Utils.Language);
#else
WarningStore.WarningReload();
#endif
}
//[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
//}
}
}

View file

@ -0,0 +1,516 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>disable</Nullable>
<RootNamespace>PvZ_Fusion_Translator</RootNamespace>
<LangVersion>default</LangVersion>
<IsPackable>false</IsPackable>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<FileVersion>1.0.0.0</FileVersion>
<NeutralLanguage>en-US</NeutralLanguage>
<AssemblyName>PvZ_Fusion_Translator</AssemblyName>
<LangVersion>latest</LangVersion>
<ImplicitUsings>enable</ImplicitUsings>
<Configurations>Debug;DebugEnglish;ReleaseMulti;ReleaseEnglish;DebugTesting;ReleaseOther;DebugObfuscate;ReleaseObfuscate</Configurations>
<GamePath>C:\Users\rainb\Desktop\PC_PVZ-Fusion_2.4.2</GamePath>
<Platforms>AnyCPU;ARM64;x64</Platforms>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugEnglish|AnyCPU'">
<GamePath>D:\Games\[Series] PvZ Mods\(Fangame) Fusion\(Latest - Solo)\Game Files</GamePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugEnglish|x64'">
<GamePath>D:\Games\[Series] PvZ Mods\(Fangame) Fusion\(Latest - Solo)\Game Files</GamePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugEnglish|ARM64'">
<GamePath>D:\Games\[Series] PvZ Mods\(Fangame) Fusion\(Latest - Solo)\Game Files</GamePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseEnglish|AnyCPU'">
<GamePath>D:\Games\[Series] PvZ Mods\(Fangame) Fusion\(Latest - Solo)\Game Files</GamePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseEnglish|x64'">
<GamePath>D:\Games\[Series] PvZ Mods\(Fangame) Fusion\(Latest - Solo)\Game Files</GamePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseEnglish|ARM64'">
<GamePath>D:\Games\[Series] PvZ Mods\(Fangame) Fusion\(Latest - Solo)\Game Files</GamePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseOther|AnyCPU'">
<GamePath>D:\Games\[Series] PvZ Mods\(Fangame) Fusion\(Latest - Solo)\Game Files</GamePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseOther|x64'">
<GamePath>D:\Games\[Series] PvZ Mods\(Fangame) Fusion\(Latest - Solo)\Game Files</GamePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseOther|ARM64'">
<GamePath>D:\Games\[Series] PvZ Mods\(Fangame) Fusion\(Latest - Solo)\Game Files</GamePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMulti|AnyCPU'">
<GamePath>D:\Games\[Series] PvZ Mods\(Fangame) Fusion\(Latest - Multi)\Game Files</GamePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMulti|x64'">
<GamePath>D:\Games\[Series] PvZ Mods\(Fangame) Fusion\(Latest - Multi)\Game Files</GamePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseMulti|ARM64'">
<GamePath>D:\Games\[Series] PvZ Mods\(Fangame) Fusion\(Latest - Multi)\Game Files</GamePath>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Remove="Instantiation\**" />
<EmbeddedResource Remove="Storage_Strings\**" />
<EmbeddedResource Remove="Storage_Textures\**" />
<EmbeddedResource Remove="Translation Files\**" />
<None Remove="Instantiation\**" />
<None Remove="Storage_Strings\**" />
<None Remove="Storage_Textures\**" />
<None Remove="Translation Files\**" />
</ItemGroup>
<ItemGroup>
<None Remove=".gitattributes" />
<None Remove=".gitignore" />
</ItemGroup>
<ItemGroup>
<Reference Include="AudioImportLib">
<HintPath>$(GamePath)\Mods\AudioImportLib.dll</HintPath>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Assembly-CSharp.dll</HintPath>
</Reference>
<Reference Include="Il2CppMono.Security">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Il2CppMono.Security.dll</HintPath>
</Reference>
<Reference Include="Il2Cppmscorlib">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Il2Cppmscorlib.dll</HintPath>
</Reference>
<Reference Include="Il2CppSystem.Configuration">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Il2CppSystem.Configuration.dll</HintPath>
</Reference>
<Reference Include="Il2CppSystem.Core">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Il2CppSystem.Core.dll</HintPath>
</Reference>
<Reference Include="Il2CppSystem">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Il2CppSystem.dll</HintPath>
</Reference>
<Reference Include="Il2CppSystem.Xml">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Il2CppSystem.Xml.dll</HintPath>
</Reference>
<Reference Include="Il2Cpp__Generated">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Il2Cpp__Generated.dll</HintPath>
</Reference>
<Reference Include="Unity.2D.Animation.Runtime">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Unity.2D.Animation.Runtime.dll</HintPath>
</Reference>
<Reference Include="Unity.Burst">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Unity.Burst.dll</HintPath>
</Reference>
<Reference Include="Unity.Burst.Unsafe">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Unity.Burst.Unsafe.dll</HintPath>
</Reference>
<Reference Include="Unity.Collections">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Unity.Collections.dll</HintPath>
</Reference>
<Reference Include="Unity.Collections.LowLevel.ILSupport">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Unity.Collections.LowLevel.ILSupport.dll</HintPath>
</Reference>
<Reference Include="Unity.InternalAPIEngineBridge.001">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Unity.InternalAPIEngineBridge.001.dll</HintPath>
</Reference>
<Reference Include="Unity.Mathematics">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Unity.Mathematics.dll</HintPath>
</Reference>
<Reference Include="Unity.RenderPipeline.Universal.ShaderLibrary">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Unity.RenderPipeline.Universal.ShaderLibrary.dll</HintPath>
</Reference>
<Reference Include="Unity.RenderPipelines.Core.Runtime">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Unity.RenderPipelines.Core.Runtime.dll</HintPath>
</Reference>
<Reference Include="Unity.RenderPipelines.Universal.Runtime">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Unity.RenderPipelines.Universal.Runtime.dll</HintPath>
</Reference>
<Reference Include="Unity.TextMeshPro">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Unity.TextMeshPro.dll</HintPath>
</Reference>
<Reference Include="Unity.VisualScripting.Core">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\Unity.VisualScripting.Core.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.AccessibilityModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.AccessibilityModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.AIModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.AIModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.AndroidJNIModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.AndroidJNIModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.AnimationModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.AnimationModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.ARModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.ARModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.AssetBundleModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.AssetBundleModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.AudioModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.AudioModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.ClothModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.ClothModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.ContentLoadModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.ContentLoadModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.CoreModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.CoreModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.CrashReportingModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.CrashReportingModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.DirectorModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.DirectorModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.DSPGraphModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.DSPGraphModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.GameCenterModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.GameCenterModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.GIModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.GIModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.GridModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.GridModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.HotReloadModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.HotReloadModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.ImageConversionModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.ImageConversionModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.IMGUIModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.IMGUIModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.InputLegacyModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.InputLegacyModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.InputModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.InputModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.JSONSerializeModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.JSONSerializeModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.LocalizationModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.LocalizationModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.ParticleSystemModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.ParticleSystemModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.PerformanceReportingModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.PerformanceReportingModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.Physics2DModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.Physics2DModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.PhysicsModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.PhysicsModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.ProfilerModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.ProfilerModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.PropertiesModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.PropertiesModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.ScreenCaptureModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.ScreenCaptureModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.SharedInternalsModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.SharedInternalsModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.SpriteMaskModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.SpriteMaskModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.SpriteShapeModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.SpriteShapeModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.StreamingModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.StreamingModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.SubstanceModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.SubstanceModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.SubsystemsModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.SubsystemsModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TerrainModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.TerrainModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TerrainPhysicsModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.TerrainPhysicsModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TextCoreFontEngineModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.TextCoreFontEngineModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TextCoreTextEngineModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.TextCoreTextEngineModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TextRenderingModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.TextRenderingModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TilemapModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.TilemapModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.TLSModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.TLSModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UI">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UI.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UIElementsModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UIElementsModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UIModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UIModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UmbraModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UmbraModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UnityAnalyticsCommonModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UnityAnalyticsCommonModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UnityAnalyticsModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UnityAnalyticsModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UnityConnectModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UnityConnectModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UnityCurlModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UnityCurlModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UnityTestProtocolModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UnityTestProtocolModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UnityWebRequestAssetBundleModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UnityWebRequestAssetBundleModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UnityWebRequestAudioModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UnityWebRequestAudioModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UnityWebRequestModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UnityWebRequestModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UnityWebRequestTextureModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UnityWebRequestTextureModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UnityWebRequestWWWModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UnityWebRequestWWWModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.VehiclesModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.VehiclesModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.VFXModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.VFXModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.VideoModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.VideoModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.VRModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.VRModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.WindModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.WindModule.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.XRModule">
<HintPath>$(GamePath)\MelonLoader\Il2CppAssemblies\UnityEngine.XRModule.dll</HintPath>
</Reference>
<Reference Include="MelonLoader">
<HintPath>$(GamePath)\MelonLoader\net6\MelonLoader.dll</HintPath>
</Reference>
<Reference Include="0Harmony">
<HintPath>$(GamePath)\MelonLoader\net6\0Harmony.dll</HintPath>
</Reference>
<Reference Include="Il2CppInterop.Runtime">
<HintPath>$(GamePath)\MelonLoader\net6\Il2CppInterop.Runtime.dll</HintPath>
</Reference>
<Reference Include="Il2CppInterop.Common">
<HintPath>$(GamePath)\MelonLoader\net6\Il2CppInterop.Common.dll</HintPath>
</Reference>
</ItemGroup>
<PropertyGroup>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
</PropertyGroup>
<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)'=='ReleaseMulti|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)'=='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>
<Compile Include="AssetStore\CheckSumStore.cs" />
<Compile Include="AssetStore\FontStore.cs" />
<Compile Include="AssetStore\StringStore.cs" />
<Compile Include="AssetStore\TextureStore.cs" />
<Compile Include="AssetStore\WarningStore.cs" />
<Compile Include="Core.cs" />
<Compile Include="FileLoader.cs" />
<Compile Include="FontHandler.cs" />
<Compile Include="Log.cs" />
<Compile Include="ModFeatures.cs" />
<Compile Include="AssetStore\AudioStore.cs" />
<Compile Include="Patches\GameObjects\ButtonObjects\AbyssBuffButton_Patch.cs" />
<Compile Include="Patches\GameObjects\ButtonObjects\AbyssLevelEnter_Patch.cs" />
<Compile Include="Patches\GameObjects\ButtonObjects\BaseMenu_Patch.cs" />
<Compile Include="Patches\GameObjects\ButtonObjects\SaveMenuBtn_Patch.cs" />
<Compile Include="Patches\GameObjects\MainMenu_Patch.cs" />
<Compile Include="Patches\GameObjects\MinorObjects\AbyssGoods_Patch.cs" />
<Compile Include="Patches\GameObjects\MinorObjects\DY_Patch.cs" />
<Compile Include="Patches\GameObjects\MinorObjects\LanternUmbrella_Patch.cs" />
<Compile Include="Patches\GameObjects\MinorObjects\MagnetBox_Patch.cs" />
<Compile Include="Patches\GameObjects\MinorObjects\MagnetInterface_Patch.cs" />
<Compile Include="Patches\GameObjects\MinorObjects\Money_Patch.cs" />
<Compile Include="Patches\GameObjects\AbyssDevelopMenu_Patch.cs" />
<Compile Include="Patches\GameObjects\AbyssMenu2_Patch.cs" />
<Compile Include="Patches\GameObjects\AbyssMenu_Patch.cs" />
<Compile Include="Patches\Managers\CustomLevelShower_Patch.cs" />
<Compile Include="Patches\Managers\SaveMenu_Patch.cs" />
<Compile Include="Patches\GameObjects\TravelBuffOptionButton_Patch.cs" />
<Compile Include="Patches\OtherManagers\AchievementClip_Patch.cs" />
<Compile Include="Patches\GameObjects\ButtonObjects\Advanture_Btn_Patch.cs" />
<Compile Include="Patches\Managers\AlmanacMgrZombie_Patch.cs" />
<Compile Include="Patches\Managers\AlmanacPlantBank_Patch.cs" />
<Compile Include="Patches\Managers\DifficultyMgr_Patch.cs" />
<Compile Include="Patches\Managers\EndlessMgr_Patch.cs" />
<Compile Include="Patches\GameObjects\ButtonObjects\EveBtn_Patch.cs" />
<Compile Include="Patches\GameObjects\GardenPlant_Patch.cs" />
<Compile Include="Patches\GameObjects\Close_Patch.cs" />
<Compile Include="Patches\GameObjects\CustomSettings_Patch.cs" />
<Compile Include="Patches\GameObjects\CustomSun_Patch.cs" />
<Compile Include="Patches\OtherManagers\GardenUI_Patch.cs" />
<Compile Include="Patches\GameObjects\NoticePauseMenu_Patch.cs" />
<Compile Include="Patches\GameObjects\ButtonObjects\InGameBtn_Patch.cs" />
<Compile Include="Patches\BaseTextObjects\InGameText_Patch.cs" />
<Compile Include="Patches\Managers\InGameUIMgr_Patch.cs" />
<Compile Include="Patches\Managers\IZEMgr_Patch.cs" />
<Compile Include="Patches\OtherManagers\MenuText_Patch.cs" />
<Compile Include="Patches\Managers\OppositeBuffManager_Patch.cs" />
<Compile Include="Patches\GameObjects\ButtonObjects\OptionBtn_Patch.cs" />
<Compile Include="Patches\GameObjects\ButtonObjects\OptLanguageBtn_Patch.cs" />
<Compile Include="Patches\GameObjects\ButtonObjects\PauseMenu_Btn_Patch.cs" />
<Compile Include="Patches\GameObjects\ButtonObjects\PVPPotBtn_Patch.cs" />
<Compile Include="Patches\GameObjects\MinorObjects\SelectYourPlants_Patch.cs" />
<Compile Include="Patches\BaseTextObjects\TextMeshPro_Patch.cs" />
<Compile Include="Patches\BaseTextObjects\TextMeshProUGUI_Patch.cs" />
<Compile Include="Patches\BaseTextObjects\TMP_InputField_Patch.cs" />
<Compile Include="Patches\Managers\TravelBuffMgr_Patch.cs" />
<Compile Include="Patches\GameObjects\TravelBuff_Patch.cs" />
<Compile Include="Patches\GameObjects\TravelRefresh_Patch.cs" />
<Compile Include="Patches\GameObjects\TravelStore_Patch.cs" />
<Compile Include="Patches\GameObjects\UIDifficulty_Patch.cs" />
<Compile Include="Patches\GameObjects\UIZombieNum_Patch.cs" />
<Compile Include="Patches\GameObjects\MinorObjects\Plant_Patch.cs" />
<Compile Include="Patches\GameObjects\MinorObjects\PlayerName_Patch.cs" />
<Compile Include="Patches\OtherManagers\ThanksMenu_Patch.cs" />
<Compile Include="Patches\Managers\UIMgr_Patch.cs" />
<Compile Include="Patches\GameObjects\MinorObjects\Zombie_Patch.cs" />
<Compile Include="Utils.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="COPY &quot;$(TargetPath)&quot; &quot;$(GamePath)\Mods&quot;" />
</Target>
</Project>

View file

@ -5,8 +5,6 @@ VisualStudioVersion = 17.10.35122.118
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PvZ Fusion Translator [MelonLoader]", "MelonLoader\PvZ Fusion Translator [MelonLoader].csproj", "{90AA30F8-EFE7-6E1A-3859-0EE79252222A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PvZ Fusion Translator [BepInEx]", "BepInEx\PvZ Fusion Translator [BepInEx].csproj", "{395E60A0-A884-61F2-EF18-BC94BB7D9C69}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8EC462FD-D22E-90A8-E5CE-7E832BA40C5D}"
ProjectSection(SolutionItems) = preProject
README.md = README.md
@ -88,54 +86,6 @@ Global
{90AA30F8-EFE7-6E1A-3859-0EE79252222A}.ReleaseOther|ARM64.Build.0 = ReleaseOther|ARM64
{90AA30F8-EFE7-6E1A-3859-0EE79252222A}.ReleaseOther|x64.ActiveCfg = ReleaseOther|x64
{90AA30F8-EFE7-6E1A-3859-0EE79252222A}.ReleaseOther|x64.Build.0 = ReleaseOther|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.Debug|Any CPU.ActiveCfg = Debug|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.Debug|Any CPU.Build.0 = Debug|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.Debug|ARM64.Build.0 = Debug|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.Debug|x64.ActiveCfg = Debug|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.Debug|x64.Build.0 = Debug|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugEnglish|Any CPU.ActiveCfg = Debug|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugEnglish|Any CPU.Build.0 = Debug|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugEnglish|ARM64.ActiveCfg = Debug|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugEnglish|ARM64.Build.0 = Debug|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugEnglish|x64.ActiveCfg = Debug|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugEnglish|x64.Build.0 = Debug|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugObfuscate|Any CPU.ActiveCfg = Debug|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugObfuscate|Any CPU.Build.0 = Debug|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugObfuscate|ARM64.ActiveCfg = DebugObfuscate|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugObfuscate|ARM64.Build.0 = DebugObfuscate|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugObfuscate|x64.ActiveCfg = DebugObfuscate|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugObfuscate|x64.Build.0 = DebugObfuscate|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugTesting|Any CPU.ActiveCfg = Debug|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugTesting|Any CPU.Build.0 = Debug|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugTesting|ARM64.ActiveCfg = Debug|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugTesting|ARM64.Build.0 = Debug|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugTesting|x64.ActiveCfg = Debug|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.DebugTesting|x64.Build.0 = Debug|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseEnglish|Any CPU.ActiveCfg = Release|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseEnglish|Any CPU.Build.0 = Release|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseEnglish|ARM64.ActiveCfg = Release|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseEnglish|ARM64.Build.0 = Release|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseEnglish|x64.ActiveCfg = Release|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseEnglish|x64.Build.0 = Release|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseMulti|Any CPU.ActiveCfg = Release|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseMulti|Any CPU.Build.0 = Release|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseMulti|ARM64.ActiveCfg = Release|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseMulti|ARM64.Build.0 = Release|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseMulti|x64.ActiveCfg = Release|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseMulti|x64.Build.0 = Release|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseObfuscate|Any CPU.ActiveCfg = ReleaseObfuscate|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseObfuscate|Any CPU.Build.0 = ReleaseObfuscate|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseObfuscate|ARM64.ActiveCfg = ReleaseObfuscate|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseObfuscate|ARM64.Build.0 = ReleaseObfuscate|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseObfuscate|x64.ActiveCfg = ReleaseObfuscate|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseObfuscate|x64.Build.0 = ReleaseObfuscate|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseOther|Any CPU.ActiveCfg = Release|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseOther|Any CPU.Build.0 = Release|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseOther|ARM64.ActiveCfg = Release|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseOther|ARM64.Build.0 = Release|Any CPU
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseOther|x64.ActiveCfg = Release|x64
{395E60A0-A884-61F2-EF18-BC94BB7D9C69}.ReleaseOther|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE