96 lines
2.8 KiB
C#
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);
|
|
}
|
|
}
|