From e0c77c17f150e19dfd4c1fa572efe51c174c7bde Mon Sep 17 00:00:00 2001 From: doombubbles Date: Mon, 26 Dec 2022 17:04:15 -0800 Subject: [PATCH] TowerSets, bump version --- BloonsTD6 Mod Helper/MelonMain.Settings.cs | 2 +- BloonsTD6 Mod Helper/MelonMain.cs | 1 + .../Sim/UnityToSimulation_UpgradeTower_Impl.cs | 2 +- .../Patches/UI/MonkeyButton_Init.cs | 17 +++++++++++++++++ .../UpgradeScreen_UpdatePortraitBackground.cs | 17 +++++++++++++++++ Shared/ModHelper.cs | 2 +- 6 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 BloonsTD6 Mod Helper/Patches/UI/MonkeyButton_Init.cs create mode 100644 BloonsTD6 Mod Helper/Patches/UI/UpgradeScreen_UpdatePortraitBackground.cs diff --git a/BloonsTD6 Mod Helper/MelonMain.Settings.cs b/BloonsTD6 Mod Helper/MelonMain.Settings.cs index 7dc3efc33..edbb8e1d1 100644 --- a/BloonsTD6 Mod Helper/MelonMain.Settings.cs +++ b/BloonsTD6 Mod Helper/MelonMain.Settings.cs @@ -76,7 +76,7 @@ internal partial class MelonMain description = "Hides mods from the Mod Browser that are almost certainly broken from being too out of date. " + "This is currently just based on having a 'WorksOnVersion' value in its ModHelperData >= 34", category = ModBrowserSettings, - icon = HideIcon + icon = CloseBtn }; public static readonly ModSettingBool ShowUnverifiedModBrowserContent = new(false) diff --git a/BloonsTD6 Mod Helper/MelonMain.cs b/BloonsTD6 Mod Helper/MelonMain.cs index b5c66a732..6b5f3614b 100644 --- a/BloonsTD6 Mod Helper/MelonMain.cs +++ b/BloonsTD6 Mod Helper/MelonMain.cs @@ -17,6 +17,7 @@ using BTD_Mod_Helper.Api.Towers; using BTD_Mod_Helper.Patches; using BTD_Mod_Helper.UI.Modded; +using Il2CppAssets.Scripts.Models.TowerSets; using TaskScheduler = BTD_Mod_Helper.Api.TaskScheduler; [assembly: MelonInfo(typeof(MelonMain), ModHelper.Name, ModHelper.Version, ModHelper.Author)] diff --git a/BloonsTD6 Mod Helper/Patches/Sim/UnityToSimulation_UpgradeTower_Impl.cs b/BloonsTD6 Mod Helper/Patches/Sim/UnityToSimulation_UpgradeTower_Impl.cs index f4cf896f2..f499f90a1 100644 --- a/BloonsTD6 Mod Helper/Patches/Sim/UnityToSimulation_UpgradeTower_Impl.cs +++ b/BloonsTD6 Mod Helper/Patches/Sim/UnityToSimulation_UpgradeTower_Impl.cs @@ -18,7 +18,7 @@ namespace BTD_Mod_Helper.Patches.Sim; internal static class UnityToSimulation_UpgradeTower_Impl { [HarmonyPrefix] - private static void Before(UnityToSimulation __instance, ObjectId id, int pathIndex) + private static void Prefix(UnityToSimulation __instance, ObjectId id, int pathIndex) { var towerManager = __instance.simulation.towerManager; var tower = towerManager.GetTowerById(id).towerModel; diff --git a/BloonsTD6 Mod Helper/Patches/UI/MonkeyButton_Init.cs b/BloonsTD6 Mod Helper/Patches/UI/MonkeyButton_Init.cs new file mode 100644 index 000000000..601f4bffb --- /dev/null +++ b/BloonsTD6 Mod Helper/Patches/UI/MonkeyButton_Init.cs @@ -0,0 +1,17 @@ +using BTD_Mod_Helper.Api.Towers; +using Il2CppAssets.Scripts.Unity.UI_New.Main.MonkeySelect; +namespace BTD_Mod_Helper.Patches.UI; + +[HarmonyPatch(typeof(MonkeyButton), nameof(MonkeyButton.Init))] +internal static class MonkeyButton_Init +{ + [HarmonyPostfix] + private static void Postfix(MonkeyButton __instance) + { + if (ModTowerHelper.ModTowerCache.TryGetValue(__instance.towerId, out var tower) && + tower.ModTowerSet is { } towerSet) + { + __instance.bgImage.SetSprite(towerSet.ContainerReference); + } + } +} \ No newline at end of file diff --git a/BloonsTD6 Mod Helper/Patches/UI/UpgradeScreen_UpdatePortraitBackground.cs b/BloonsTD6 Mod Helper/Patches/UI/UpgradeScreen_UpdatePortraitBackground.cs new file mode 100644 index 000000000..a3d14100e --- /dev/null +++ b/BloonsTD6 Mod Helper/Patches/UI/UpgradeScreen_UpdatePortraitBackground.cs @@ -0,0 +1,17 @@ +using BTD_Mod_Helper.Api.Towers; +using Il2CppAssets.Scripts.Unity.UI_New.Upgrade; +namespace BTD_Mod_Helper.Patches.UI; + +[HarmonyPatch(typeof(UpgradeScreen), nameof(UpgradeScreen.UpdatePortraitBackground))] +internal static class UpgradeScreen_UpdatePortraitBackground +{ + [HarmonyPostfix] + private static void Postfix(UpgradeScreen __instance) + { + if (ModTowerHelper.ModTowerCache.TryGetValue(__instance.currTowerId, out var tower) && + tower.ModTowerSet is { } towerSet) + { + __instance.selectedUpgrade.portraitBackground.SetSprite(towerSet.ContainerReference); + } + } +} \ No newline at end of file diff --git a/Shared/ModHelper.cs b/Shared/ModHelper.cs index 18dc10094..07d57dbeb 100644 --- a/Shared/ModHelper.cs +++ b/Shared/ModHelper.cs @@ -17,7 +17,7 @@ public static class ModHelper #region ModHelperData for the Mod Helper internal const string Name = "BloonsTD6 Mod Helper"; - internal const string Version = "3.1.0"; + internal const string Version = "3.1.1"; internal const string RepoOwner = "gurrenm3"; internal const string RepoName = "BTD-Mod-Helper"; internal const string Description = "A powerful and easy to use API for modding BTD6. Also the mod that is allowing all of this UI to happen right now :P";