40 lines
1.4 KiB
C#
40 lines
1.4 KiB
C#
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace TH1_UI.View.Info
|
|
{
|
|
public class UIInfoCultureCardBuyButtonMono : MonoBehaviour
|
|
{
|
|
public Sprite NormalButton;
|
|
public Sprite CantBuyButton;
|
|
public Color NormalTextColor;
|
|
public Color CantBuyTextColor;
|
|
public Button BuyButton;
|
|
public TextMeshProUGUI Cost;
|
|
public Image CostIcon;
|
|
public Sprite CultureCostSprite;
|
|
public Sprite CoinCostSprite;
|
|
public Color CultureCostColor = new Color(0.7019608f, 0.2627451f, 0.7607843f, 1f);
|
|
public Color CoinCostColor = Color.white;
|
|
|
|
public void UpdateVisual(int cost, int playerResource, CultureCardCostType costType = CultureCardCostType.Culture)
|
|
{
|
|
bool canBuy = playerResource >= cost;
|
|
if (BuyButton != null)
|
|
BuyButton.image.sprite = canBuy ? NormalButton : CantBuyButton;
|
|
if (CostIcon != null)
|
|
{
|
|
var costSprite = costType == CultureCardCostType.Coin ? CoinCostSprite : CultureCostSprite;
|
|
if (costSprite != null) CostIcon.sprite = costSprite;
|
|
CostIcon.color = costType == CultureCardCostType.Coin ? CoinCostColor : CultureCostColor;
|
|
}
|
|
if (Cost != null)
|
|
{
|
|
Cost.text = cost.ToString();
|
|
Cost.color = canBuy ? NormalTextColor : CantBuyTextColor;
|
|
}
|
|
}
|
|
}
|
|
}
|