71 lines
1.7 KiB
C#
71 lines
1.7 KiB
C#
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
using UnityEngine.Serialization;
|
|
|
|
namespace AsteroidGame.Handlers
|
|
{
|
|
public class ScoreHandler : HandlerBase
|
|
{
|
|
[Header("UI")]
|
|
[SerializeField]
|
|
private TextMeshProUGUI displayBalance;
|
|
|
|
[Header("Parameters")]
|
|
[SerializeField]
|
|
private int startHealth = 5;
|
|
[SerializeField]
|
|
private int startBalance = 100;
|
|
[Header("Stats")]
|
|
[SerializeField]
|
|
private int currentHealth;
|
|
[SerializeField]
|
|
private int currentBalance;
|
|
public int CurrentBalance => currentBalance;
|
|
|
|
private void Start()
|
|
{
|
|
currentHealth = startHealth;
|
|
currentBalance = startBalance;
|
|
UpdateGUI();
|
|
}
|
|
|
|
public void ModifyHealth(GameObject enemy)
|
|
{
|
|
currentHealth -= 1;
|
|
CheckIfYouLost();
|
|
}
|
|
|
|
public void ModifyHealth(int amount)
|
|
{
|
|
currentHealth += amount;
|
|
CheckIfYouLost();
|
|
}
|
|
|
|
private void CheckIfYouLost(){
|
|
if(currentHealth <= 0)
|
|
{
|
|
Debug.Log("You lost");
|
|
Reload();
|
|
}
|
|
}
|
|
|
|
public void ModifyWealth(int amount){
|
|
currentBalance += amount;
|
|
UpdateGUI();
|
|
// Debug.Log($"Wealth modification. Change:{_amount}. Current: {wealthAmount}");
|
|
}
|
|
|
|
private void Reload()
|
|
{
|
|
int currentSceneIndex = SceneManager.GetActiveScene().buildIndex;
|
|
SceneManager.LoadScene(currentSceneIndex);
|
|
}
|
|
|
|
private void UpdateGUI(){
|
|
displayBalance.text = $"Gold: {currentBalance.ToString()}";
|
|
}
|
|
|
|
}
|
|
}
|