162 lines
4.0 KiB
C#
162 lines
4.0 KiB
C#
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class UI_Manager : MonoBehaviour
|
|
{
|
|
public static UI_Manager Instance;
|
|
|
|
[SerializeField] private TextMeshProUGUI playerCarryText;
|
|
[SerializeField] private TextMeshProUGUI playerCashText;
|
|
[SerializeField] private TextMeshProUGUI playerDepositText;
|
|
|
|
[SerializeField] private TextMeshProUGUI teammate1CarryText;
|
|
[SerializeField] private TextMeshProUGUI teammate2CarryText;
|
|
|
|
[SerializeField] private TextMeshProUGUI enemy1CarryText;
|
|
[SerializeField] private TextMeshProUGUI enemy1DepositText;
|
|
|
|
[SerializeField] private TextMeshProUGUI enemy2CarryText;
|
|
[SerializeField] private TextMeshProUGUI enemy2DepositText;
|
|
|
|
[SerializeField] private TextMeshProUGUI actionTimerText;
|
|
[SerializeField] private TextMeshProUGUI depositTimerText;
|
|
|
|
[SerializeField] private TextMeshProUGUI objectiveText;
|
|
|
|
[SerializeField] private Slider playerProgressSlider;
|
|
[SerializeField] private Slider enemy1ProgressSlider;
|
|
[SerializeField] private Slider enemy2ProgressSlider;
|
|
|
|
[SerializeField] private CashPopupUI cashPopup;
|
|
|
|
private void Awake()
|
|
{
|
|
Instance = this;
|
|
|
|
HideDepositTimer();
|
|
}
|
|
|
|
public void UpdatePlayerCarryCash(int amount)
|
|
{
|
|
playerCarryText.text =
|
|
$"{amount:N0}";
|
|
}
|
|
|
|
public void ShowCashPopup(int amount)
|
|
{
|
|
cashPopup?.Show(amount);
|
|
}
|
|
|
|
public void UpdatePlayerCash(int amount)
|
|
{
|
|
if (playerCashText != null)
|
|
playerCashText.text = $"${amount:N0}";
|
|
}
|
|
|
|
public void UpdateTeammate1Cash(int amount)
|
|
{
|
|
teammate1CarryText.text = $"${amount:N0}";
|
|
}
|
|
|
|
public void UpdateTeammate2Cash(int amount)
|
|
{
|
|
teammate2CarryText.text = $"${amount:N0}";
|
|
}
|
|
|
|
public void UpdatePlayerDepositCash(int amount)
|
|
{
|
|
playerDepositText.text =
|
|
$"${amount:N0}/10,000";
|
|
|
|
playerProgressSlider.value = amount / 10000f;
|
|
}
|
|
|
|
public void UpdateEnemy1CarryCash(int amount)
|
|
{
|
|
enemy1CarryText.text =
|
|
$"{amount:N0}";
|
|
}
|
|
|
|
public void UpdateEnemy1DepositCash(int amount)
|
|
{
|
|
enemy1DepositText.text =
|
|
$"${amount:N0}/10,000";
|
|
|
|
enemy1ProgressSlider.value = amount / 10000f;
|
|
}
|
|
|
|
public void UpdateEnemy2CarryCash(int amount)
|
|
{
|
|
enemy2CarryText.text =
|
|
$"{amount:N0}";
|
|
}
|
|
|
|
public void UpdateEnemy2DepositCash(int amount)
|
|
{
|
|
enemy2DepositText.text =
|
|
$"${amount:N0}/10,000";
|
|
|
|
enemy2ProgressSlider.value = amount / 10000f;
|
|
}
|
|
|
|
public void UpdateDepositTimer(float timeLeft)
|
|
{
|
|
if (objectiveText != null)
|
|
objectiveText.gameObject.SetActive(false);
|
|
|
|
depositTimerText.text =
|
|
"Depositing: " + Mathf.CeilToInt(timeLeft);
|
|
}
|
|
|
|
public void HideDepositTimer()
|
|
{
|
|
depositTimerText.text = "";
|
|
|
|
if (objectiveText != null)
|
|
objectiveText.gameObject.SetActive(true);
|
|
}
|
|
|
|
public void UpdateActionTimer(string actionName, float timeLeft)
|
|
{
|
|
if (objectiveText != null)
|
|
objectiveText.gameObject.SetActive(false);
|
|
|
|
actionTimerText.text =
|
|
actionName + ": " + Mathf.CeilToInt(timeLeft);
|
|
}
|
|
|
|
public void HideActionTimer()
|
|
{
|
|
actionTimerText.text = "";
|
|
|
|
if (objectiveText != null)
|
|
objectiveText.gameObject.SetActive(true);
|
|
}
|
|
|
|
public void ShowInteractionPrompt(string message)
|
|
{
|
|
if (objectiveText != null)
|
|
objectiveText.gameObject.SetActive(false);
|
|
|
|
actionTimerText.text = message;
|
|
}
|
|
|
|
public void ShowOpenVaultObjective()
|
|
{
|
|
if (objectiveText != null)
|
|
objectiveText.text = "-> Open a vault to collect cash.";
|
|
}
|
|
|
|
public void ShowDepositObjective()
|
|
{
|
|
if (objectiveText != null)
|
|
objectiveText.text = "-> Deposit your cash at a deposit dtation.";
|
|
}
|
|
|
|
public void HideObjective()
|
|
{
|
|
if (objectiveText != null)
|
|
objectiveText.text = "";
|
|
}
|
|
} |