Health and Energy Logic ausgeführt, GameOver und LevelTime Scripte angelegt, Timer (aber keinen krassen coolen) eingebaut

This commit is contained in:
2026-02-10 11:28:41 +01:00
parent 42b50afc95
commit 57f6aa02c8
10 changed files with 235 additions and 934 deletions

View File

@@ -0,0 +1,82 @@
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;
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1765a05fbe2c3cd408dca42fafe71d5d

View File

@@ -18,7 +18,14 @@ public class ShopScript : MonoBehaviour
//TMP_Text textfeld;
[SerializeField] TMP_Text textfeld;
[Header("Scripte")]
InventoryScript inventory;
ChangeHealth healthScript;
HandleEnergy battery;
[Header("BuyValues")]
private float moneten = 10.00f; //als vorerstiger Ersatz für tatsächliches Geld
@@ -53,6 +60,8 @@ public class ShopScript : MonoBehaviour
private void Awake()
{
inventory = backgroundPanel.GetComponent<InventoryScript>();
healthScript = backgroundPanel.GetComponent<ChangeHealth>();
battery = backgroundPanel.GetComponent<HandleEnergy>();
}
void Start()
@@ -112,7 +121,7 @@ public class ShopScript : MonoBehaviour
else
{
inventory.Health++;
healthScript.standardHealth++;
inventory.Gems -= updateCost;
}
@@ -129,7 +138,7 @@ public class ShopScript : MonoBehaviour
else
{
inventory.Energy++;
battery.standardEnergy++;
inventory.Gems -= updateCost;
}