49 lines
1.5 KiB
C#

using TMPro;
using UnityEngine;
using UnityEngine.Serialization;
using UnityEngine.UI;
public class RevengeButton : PveLossButton
{
[Header("Layout ссылки")]
[SerializeField, FormerlySerializedAs("oldPrice")] private TextMeshProUGUI _oldPrice;
[SerializeField, FormerlySerializedAs("actualPrice")] private TextMeshProUGUI _actualPrice;
[SerializeField, FormerlySerializedAs("saleImage")] private Image _saleImage;
public override void Initialize()
=> Initialize(GameMode.pve);
public void Initialize(GameMode gameMode)
{
if (PaymentSystem.Freeplay)
{
_oldPrice.gameObject.SetActive(false);
_actualPrice.gameObject.SetActive(false);
_saleImage.gameObject.SetActive(false);
return;
}
int revengePrice = PaymentSystem.GetRevengePrice(gameMode);
int normalPrice = PaymentSystem.GetModePrice(gameMode);
_actualPrice.gameObject.SetActive(true);
_actualPrice.text = PaymentSystem.GetPluralizedMoney(revengePrice);
bool revengeCheaper = revengePrice < normalPrice;
_oldPrice.gameObject.SetActive(revengeCheaper);
_oldPrice.text = PaymentSystem.GetPluralizedMoney(normalPrice);
_saleImage.gameObject.SetActive(revengeCheaper);
}
public bool TryPay(GameMode gameMode)
=> PaymentSystem.TryPay(PaymentSystem.GetRevengePrice(gameMode));
public override void Interact()
{
if (!interactable)
return;
base.Interact();
}
}