83 lines
1.7 KiB
C#
83 lines
1.7 KiB
C#
using System;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
using UnityEngine.UIElements;
|
|
using static UnityEngine.Rendering.DebugUI;
|
|
|
|
public class GameOver : MonoBehaviour
|
|
{
|
|
[Header("UI and HUB")]
|
|
|
|
[SerializeField] GameObject deathPanel;
|
|
private float duration = 4f;
|
|
[SerializeField] float timer;
|
|
[SerializeField] TMP_Text deathTime;
|
|
[SerializeField] bool recentDeath;
|
|
|
|
[Header("ScriptPile")]
|
|
|
|
[SerializeField] GameObject scriptPile;
|
|
|
|
|
|
InventoryScript inventory;
|
|
ChangeHealth healthScript;
|
|
HandleEnergy battery;
|
|
|
|
private void Awake()
|
|
{
|
|
inventory = scriptPile.GetComponent<InventoryScript>();
|
|
healthScript = scriptPile.GetComponent<ChangeHealth>();
|
|
battery = scriptPile.GetComponent<HandleEnergy>();
|
|
}
|
|
|
|
void Start()
|
|
{
|
|
deathPanel.SetActive(false);
|
|
recentDeath = true;
|
|
timer = 10;
|
|
}
|
|
|
|
void Update()
|
|
{
|
|
if (recentDeath)
|
|
{
|
|
deathTime.text = Convert.ToInt32(timer -= Time.deltaTime).ToString();
|
|
|
|
if(timer >= 0)
|
|
{
|
|
StopBothering();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
StopBothering();
|
|
}
|
|
}
|
|
|
|
public void ShowDeathScreen()
|
|
{
|
|
deathPanel.SetActive(true);
|
|
}
|
|
|
|
|
|
public void StopBothering()
|
|
{
|
|
recentDeath = false;
|
|
Time.timeScale = 1; //UNSICHER OB LAden VON SCENE DEN WERT AUTO. AUF 1 SETZT
|
|
SceneManager.LoadSceneAsync(0);
|
|
}
|
|
|
|
|
|
public void NewChance()
|
|
{
|
|
inventory.Health = healthScript.standardHealth;
|
|
|
|
if (battery.standardEnergy <= (inventory.Energy + battery.addEnergyValue))
|
|
{
|
|
inventory.Energy += battery.addEnergyValue;
|
|
}
|
|
|
|
}
|
|
}
|