chip-gameV3/Assets/Scripts/Menu/MenuController.cs

78 lines
2.9 KiB
C#

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);
}