using TMPro; using UnityEngine; public class MenuController : MonoBehaviour { [Header("Ошибка выдачи приза")] [SerializeField] CanvasGroup smallPrizeErrorCG; [Header("Техподдержка")] [SerializeField] TextMeshProUGUI numberTechLabel; [SerializeField] CanvasGroup numberTechCG; [SerializeField] string numberTechPrefix = "тех.поддержка: "; [Header("Серийник")] [SerializeField] TextMeshProUGUI serialLabel; [SerializeField] string serialDefault = "серийный номер не указан"; [Header("Маленькие призы закончились")] [SerializeField] CanvasGroup smallPrizesOutCG; [Header("Цены")] [SerializeField] TextMeshProUGUI pricePveLabel; [SerializeField] TextMeshProUGUI pricePvpLabel; [SerializeField] CanvasGroup pricePveCG; [SerializeField] CanvasGroup pricePvpCG; [SerializeField] string pricePrefix = "Цена: "; [Header("Супер приз")] [SerializeField] SpecialPrizeView specialPrizeView; public void Init() { specialPrizeView.Init(); } private void UpdateNumberTech() { //номер техподдержки bool showNum = SettingsManager.GetBool(SettingKeys.SHOW_NUMBERTECH, true); string contact = PlayerPrefs.GetString(PrefsKeyVault.NUMBER_TECH, "<не указано>"); numberTechLabel.text = showNum ? $"{numberTechPrefix}{contact}" : ""; numberTechCG.alpha = showNum ? 1 : 0; } private void UpdateNoPrizesLabel() { //"маленькие призы закончились" bool displayBySetting = SettingsManager.GetBool(SettingKeys.DISPLAY_NOPRIZES, false); bool noPrizesOnCounter = PlayerPrefs.GetInt(PrefsKeyVault.PRIZES_AVAILABLE, 0) <= 0; smallPrizesOutCG.alpha = displayBySetting && noPrizesOnCounter ? 1 : 0; } private void UpdatePrizeErrorLabel() { bool displayBySetting = SettingsManager.GetBool(SettingKeys.DISPLAY_PRIZING_ERROR, false); bool hasError = PlayerPrefs.GetInt(PrefsKeyVault.PRIZE_ERROR, 0) == 1; smallPrizeErrorCG.alpha = displayBySetting && hasError ? 1 : 0; } private void UpdatePrices() { bool free = SettingsManager.GetBool(SettingKeys.FREEPLAY, false); if (!free) { int pricePve = PlayerPrefs.GetInt(PrefsKeyVault.PRICE_PVE, 10); int pricePvp = PlayerPrefs.GetInt(PrefsKeyVault.PRICE_PVP, 10); pricePveLabel.text = pricePve > 0 ? $"{pricePrefix}{pricePve} {PaymentSystem.ValutaName}" : "Бесплатно"; pricePvpLabel.text = pricePvp > 0 ? $"{pricePrefix}{pricePve} {PaymentSystem.ValutaName}" : "Бесплатно"; } var alfa = free ? 0 : 1; pricePveCG.alpha = alfa; pricePvpCG.alpha = alfa; } private void SetupSerial() => serialLabel.text = PlayerPrefs.GetString(PrefsKeyVault.SERIAL, serialDefault); }