43 lines
1.1 KiB
C#
43 lines
1.1 KiB
C#
using TMPro;
|
|
using UnityEngine;
|
|
|
|
public class CoinCounter : MonoBehaviour
|
|
{
|
|
public TextMeshProUGUI balanceLabel;
|
|
public CanvasGroup balanceSignGroup;
|
|
private bool initialized = false;
|
|
|
|
public void Initialize()
|
|
{
|
|
UpdateBalanceLabelBySettings();
|
|
PaymentSystem.OnBalanceChanged += UpdateBalanceLabel;
|
|
SettingsManager.OnSettingsChanged += UpdateBalanceLabelBySettings;
|
|
|
|
initialized = true;
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
if (!initialized) return;
|
|
|
|
PaymentSystem.OnBalanceChanged -= UpdateBalanceLabel;
|
|
SettingsManager.OnSettingsChanged -= UpdateBalanceLabelBySettings;
|
|
}
|
|
|
|
private void UpdateBalanceLabelBySettings()
|
|
{
|
|
bool freeplay = SettingsManager.GetBool(SettingKey.FREEPLAY);
|
|
if (freeplay)
|
|
{
|
|
balanceLabel.text = "бесплатно";
|
|
balanceSignGroup.alpha = 0;
|
|
}
|
|
else
|
|
{
|
|
UpdateBalanceLabel(PaymentSystem.Balance);
|
|
balanceSignGroup.alpha = 1;
|
|
}
|
|
}
|
|
|
|
public void UpdateBalanceLabel(int newCount) => balanceLabel.text = PaymentSystem.GetPluralizedMoney(newCount);
|
|
} |