public static void Postfix(TSMThemeAmbidextrousRangs __instance, TowerToSimulation tower) { if (Game.instance.getProfileModel().HasPurchasedNamedMonkeys() == true) { Model towerModel = tower.tower.model; Dictionary <string, string> Names = Game.instance.getProfileModel().namedMonkeyNames; foreach (string key in Names.Keys) { string monkeyName = key.Replace("1", ""); if (towerModel.name.Contains(monkeyName)) { __instance.towerName.text = Names[key]; } else { foreach (string name in moreNames.Keys) { if (towerModel.name.Contains(name)) { __instance.towerName.text = moreNames[name]; } } } } } }
public static void Postfix(TSMThemeAmbidextrousRangs __instance, TowerToSimulation tower, TSMButton button) { if (tower.Def.name.Contains(TowerType.SuperMonkey) && tower.Def.tiers[0] >= 3 && tower.Def.tiers[0] < 5 && (button == __instance.leftHandButton || button == __instance.rightHandButton)) { SacrificesOff = !SacrificesOff; Utils.SetTexture(__instance.leftHandButton.transform.Find("Icon").GetComponent <Image>(), SacrificesOff ? "Off" : "On"); Utils.SetTexture(__instance.rightHandButton.transform.Find("Icon").GetComponent <Image>(), SacrificesOff ? "Off" : "On"); foreach (var key in TSMTheme_Patch.text.Keys) { TSMTheme_Patch.text[key].gameObject.SetActiveRecursively(!SacrificesOff); TSMTheme_Patch.icons[key].gameObject.SetActiveRecursively(!SacrificesOff); } } }
public static void Postfix(TSMThemeAmbidextrousRangs __instance, TowerToSimulation tower) { if (text != null) { foreach (var key in text.Keys) { text[key].gameObject.SetActiveRecursively(false); icons[key].gameObject.SetActiveRecursively(false); } } if (tower.Def.name.Contains(TowerType.SuperMonkey) && tower.Def.tiers[0] >= 3 && tower.Def.tiers[0] < 5) { if (__instance.towerBackgroundImage.sprite == null) { if (magicSprite == null) { foreach (BaseTSMTheme t in TowerSelectionMenu.instance.themeManager.themes) { if (t.GetIl2CppType().IsAssignableFrom(Il2CppType.Of <TSMThemeDefault>())) { TSMThemeDefault td = t.Cast <TSMThemeDefault>(); if (td.magicSprite != null) { magicSprite = td.magicSprite; } } } } if (magicSprite != null) { __instance.magicSprite = magicSprite; ResourceLoader.LoadSpriteFromSpriteReferenceAsync(magicSprite, __instance.towerBackgroundImage, false); } } ; if (__instance.isMonkeyPortraitFlipped) { __instance.leftHandButton.gameObject.SetActive(false); __instance.rightHandButton.gameObject.SetActive(true); } else { __instance.rightHandButton.gameObject.SetActive(false); __instance.leftHandButton.gameObject.SetActive(true); } if (leftSprite == null && rightSprite == null) { leftSprite = __instance.leftHandButton.transform.Find("Icon").GetComponent <Image>().sprite; rightSprite = __instance.rightHandButton.transform.Find("Icon").GetComponent <Image>().sprite; } Utils.SetTexture(__instance.leftHandButton.transform.Find("Icon").GetComponent <Image>(), SacrificesOff ? "Off" : "On"); Utils.SetTexture(__instance.rightHandButton.transform.Find("Icon").GetComponent <Image>(), SacrificesOff ? "Off" : "On"); if (text == null) { text = new Dictionary <string, NK_TextMeshProUGUI> { ["Primary"] = Object.Instantiate(__instance.popCountText, __instance.transform, true), ["Military"] = Object.Instantiate(__instance.popCountText, __instance.transform, true), ["Magic"] = Object.Instantiate(__instance.popCountText, __instance.transform, true), ["Support"] = Object.Instantiate(__instance.popCountText, __instance.transform, true) }; icons = new Dictionary <string, GameObject> { ["Primary"] = Object.Instantiate(__instance.gameObject.transform.Find("TSMPopInfoDefault").Find("PopImage").gameObject, __instance.transform, true), ["Military"] = Object.Instantiate(__instance.gameObject.transform.Find("TSMPopInfoDefault").Find("PopImage").gameObject, __instance.transform, true), ["Magic"] = Object.Instantiate(__instance.gameObject.transform.Find("TSMPopInfoDefault").Find("PopImage").gameObject, __instance.transform, true), ["Support"] = Object.Instantiate(__instance.gameObject.transform.Find("TSMPopInfoDefault").Find("PopImage").gameObject, __instance.transform, true) }; float unit = __instance.popCountText.fontSize / 2; int i = -1; foreach (var key in icons.Keys) { Utils.SetTexture(icons[key].transform.GetComponent <Image>(), key); text[key].transform.Translate(0, i * unit, 0); icons[key].transform.Translate(0, i * unit, 0); i--; } } if (!SacrificesOff) { var worths = Utils.GetTowerWorths(tower.tower); var colors = Utils.GetColors(worths, tower.Def.tiers[0] == 4); foreach (var key in text.Keys) { text[key].gameObject.SetActiveRecursively(true); icons[key].gameObject.SetActiveRecursively(true); text[key].SetText( "$" + worths[key]); text[key].color = colors[key]; } } } else if (tower.Def.baseId == TowerType.BoomerangMonkey && leftSprite != null && rightSprite != null) { Utils.SetTexture(__instance.leftHandButton.transform.Find("Icon").GetComponent <Image>(), null, leftSprite); Utils.SetTexture(__instance.rightHandButton.transform.Find("Icon").GetComponent <Image>(), null, rightSprite); } }