aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'nGJ2019/Assets/Scripts/HealthBar.cs')
-rw-r--r--nGJ2019/Assets/Scripts/HealthBar.cs54
1 files changed, 54 insertions, 0 deletions
diff --git a/nGJ2019/Assets/Scripts/HealthBar.cs b/nGJ2019/Assets/Scripts/HealthBar.cs
new file mode 100644
index 0000000..4c30b42
--- /dev/null
+++ b/nGJ2019/Assets/Scripts/HealthBar.cs
@@ -0,0 +1,54 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class HealthBar : MonoBehaviour
+{
+ public GameObject crystalPrefab;
+ public Material liveCrystal;
+ public Material deadCrystal;
+
+ public int lives;
+
+ private int currentHealth;
+ public int health
+ {
+ get{return currentHealth;}
+ set
+ {
+ currentHealth = value;
+ updateCrystals();
+ }
+ }
+
+ private List<Renderer> crystals = new List<Renderer>();
+
+ private void updateCrystals()
+ {
+ for(int i=0; i<lives; i++)
+ {
+ if(health > i)
+ crystals[i].material = liveCrystal;
+ else
+ crystals[i].material = deadCrystal;
+ }
+ }
+
+ void Start()
+ {
+ for(int i=0; i<lives; i++)
+ {
+ GameObject crystal = Instantiate(crystalPrefab, transform.position + Vector3.right*0.5f*i, Quaternion.identity);
+ crystals.Add(crystal.GetComponentInChildren<Renderer>());
+ }
+
+ health = lives;
+ updateCrystals();
+ }
+
+ // Update is called once per frame
+ void Update()
+ {
+
+ }
+}