using I2.Loc; using MPUIKIT; using TMPro; using UnityEngine; using UnityEngine.UI; public class PerkSelectionTooltipHelper : MonoBehaviour { public UIFrame targetFrame; public TextMeshProUGUI selectionTitle; public TextMeshProUGUI selectionDescription; public Image selectionIcon; public MPImageBasic background; public UIParentResizer sizer; public bool disableOnNullSelect; public GameObject tooltipParent; private TFUIEquippable currentElement; public void OnSelection() { if (targetFrame.CurrentSelection == null) { return; } TFUIEquippable tFUIEquippable = targetFrame.CurrentSelection as TFUIEquippable; if (tFUIEquippable == null) { if (disableOnNullSelect) { tooltipParent.SetActive(value: false); } return; } if ((bool)tooltipParent) { tooltipParent.SetActive(value: true); } currentElement = tFUIEquippable; UpdateTooltip(); } public void OnFocus() { if (targetFrame.CurrentFocus == null) { OnSelection(); return; } if ((bool)tooltipParent) { tooltipParent.SetActive(value: true); } TFUIEquippable tFUIEquippable = targetFrame.CurrentFocus as TFUIEquippable; if (tFUIEquippable == null) { if (disableOnNullSelect) { tooltipParent.SetActive(value: false); } } else { currentElement = tFUIEquippable; UpdateTooltip(); } } public void UpdateTooltip() { if (currentElement == null) { return; } string text = ""; string text2 = ""; Equippable data = currentElement.Data; if (currentElement.Locked) { text = LocalizationManager.GetTranslation("Menu/Locked"); text2 = LocalizationManager.GetTranslation("Menu/Locked Choice Description"); if (data is EquippableWeapon) { text2 = LocalizationManager.GetTranslation("Menu/Locked Weapon Description"); } else if (data is EquippablePerk) { text2 = LocalizationManager.GetTranslation("Menu/Locked Perk Description"); } else if (data is EquippableMutation) { text2 = LocalizationManager.GetTranslation("Menu/Locked Mutator Description"); } selectionIcon.sprite = currentElement.IconImg.sprite; } else { text = LocalizationManager.GetTranslation(data.LOCIDENTIFIER_NAME); text2 = LocalizationManager.GetTranslation(data.LOCIDENTIFIER_DESCRIPTION); selectionIcon.sprite = data.icon; } selectionTitle.text = text; selectionDescription.text = text2; background.color = currentElement.GetBackgroundColor; selectionIcon.color = currentElement.GetIconColor; sizer.Trigger(); } }