Files
2026-03-04 10:03:45 +08:00

96 lines
2.8 KiB
C#

using System.Collections.Generic;
using UFS2.Tokens;
using UnityEngine;
using UnityEngine.UI;
public class TokensPanel : MonoBehaviour
{
[SerializeField]
private Transform[] tokensTranform;
[SerializeField]
private GameObject tokenPrefab;
[SerializeField]
private GameObject[] xpBoostImages;
[SerializeField]
private GameObject[] cashBoostSprite;
public void Start()
{
GameManager.Instance.boostTokensModule = base.gameObject.GetComponent<BoostTokens>();
}
public void OnEnable()
{
InitializeFields();
InitializeBoostImages();
}
public void OnDisable()
{
GameManager.TruncateContainer(tokensTranform[0]);
GameManager.TruncateContainer(tokensTranform[1]);
}
public void Update()
{
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().TimeBoostCash > 0f)
{
cashBoostSprite[1].GetComponentInChildren<Text>().text = GameManager.Instance._playerData.GetCashBoostTime();
}
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().TimeBoostExp > 0f)
{
xpBoostImages[1].GetComponentInChildren<Text>().text = GameManager.Instance._playerData.GetExpBoostTime();
}
}
public void InitializeFields()
{
List<BoostToken> boostTokens = BoostTokens.GetBoostTokens(BoostToken.tokenType.TokenXP);
List<BoostToken> boostTokens2 = BoostTokens.GetBoostTokens(BoostToken.tokenType.TokenCash);
for (int i = 0; i < boostTokens.Count; i++)
{
Object.Instantiate(tokenPrefab, tokensTranform[0]).GetComponent<TokenPrefabItem>().Initialize(boostTokens[i]);
}
for (int j = 0; j < boostTokens2.Count; j++)
{
Object.Instantiate(tokenPrefab, tokensTranform[1]).GetComponent<TokenPrefabItem>().Initialize(boostTokens2[j]);
}
}
public void InitializeBoostImages()
{
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().TimeBoostExp > 0f)
{
xpBoostImages[0].SetActive(value: false);
xpBoostImages[1].SetActive(value: true);
xpBoostImages[1].GetComponentInChildren<Text>().text = GameManager.Instance._playerData.GetExpBoostTime();
}
else
{
xpBoostImages[0].SetActive(value: true);
xpBoostImages[1].SetActive(value: false);
xpBoostImages[0].GetComponentInChildren<Text>().text = LanguageManager.Instance.GetText("BOOST_INACTIVE");
}
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().TimeBoostCash > 0f)
{
cashBoostSprite[0].SetActive(value: false);
cashBoostSprite[1].SetActive(value: true);
cashBoostSprite[1].GetComponentInChildren<Text>().text = GameManager.Instance._playerData.GetCashBoostTime();
}
else
{
cashBoostSprite[0].SetActive(value: true);
cashBoostSprite[1].SetActive(value: false);
cashBoostSprite[0].GetComponentInChildren<Text>().text = LanguageManager.Instance.GetText("BOOST_INACTIVE");
}
}
public void HideTokenPanel()
{
base.gameObject.SetActive(value: false);
}
}