Добавить таймеры и шкалы прогресса, расширить призовую систему и контроль остатков, восстановить настройки и обновить таблицу призов главного меню.
49 lines
1.5 KiB
C#
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.TryPayForRevenge(gameMode);
|
|
|
|
public override void Interact()
|
|
{
|
|
if (!interactable)
|
|
return;
|
|
|
|
base.Interact();
|
|
}
|
|
}
|