TH1/Unity/Assets/Scripts/TH1_UI/View/Info/UIInfoCultureCardBuyButtonMono.cs
2026-06-05 22:50:45 +08:00

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