]> git.lizzy.rs Git - SuperMouseAdventure.git/blob - 2DGame/Assets/Scripts/Gegner/Boss/Boss.cs
Animierte Schnecke mit adaptiver UI
[SuperMouseAdventure.git] / 2DGame / Assets / Scripts / Gegner / Boss / Boss.cs
1 using System.Collections;
2 using System.Collections.Generic;
3 using UnityEngine;
4 using UnityEngine.UI;
5
6 public class Boss : MonoBehaviour
7 {
8     [SerializeField]
9     string bossName;
10
11     [SerializeField]
12     Text bossText;
13
14     BossTrigger bossTrigger;
15
16     public int bossHealth;
17     public int numberOfHearts;
18
19     public Image[] bossHearts;
20     public Sprite fullHeart;
21     public Sprite emptyHeart;
22
23     // Start is called before the first frame update
24     void Start()
25     {
26         bossTrigger = GetComponent<BossTrigger>();
27     }
28
29     // Update is called once per frame
30     void Update()
31     {
32         if(bossTrigger.bossFight == true)
33         {
34             bossText.enabled = true;
35             bossText.text = bossName;
36         } else
37         {
38             bossText.enabled = false;
39         }
40
41         if (bossHealth > numberOfHearts)
42         {
43             bossHealth = numberOfHearts;
44         }
45
46         for (int i = 0; i < bossHearts.Length; i++)
47         {
48             //Wenn i kleiner als die Gesundheit, zeige ein volles Herz an, ansonsten ein leeres
49             if (i < bossHealth)
50             {
51                 bossHearts[i].sprite = fullHeart;
52             }
53             else
54             {
55                 bossHearts[i].sprite = emptyHeart;
56             }
57
58             if (i < numberOfHearts)
59             {
60                 bossHearts[i].enabled = true;
61             }
62             else
63             {
64                 bossHearts[i].enabled = false;
65             }
66
67             if(bossTrigger.bossFight == false)
68             {
69                 bossHearts[i].enabled = false;
70             }
71         }
72
73         if (bossHealth == 0)
74         {
75             gameObject.SetActive(false);
76             bossText.enabled = false;
77             for (int i = 0; i < bossHearts.Length; i++)
78             {
79                 bossHearts[i].enabled = false;
80             }
81         }
82     }
83
84     //Bei Berührung mit der Schere oder der Maus wird die Gesundheit um 1 verringert
85     public void OnTriggerEnter2D(Collider2D collision)
86     {
87         if (collision.gameObject.CompareTag("Bullet"))
88         {
89             bossHealth--;
90             Destroy(collision.gameObject);
91         }
92         else if (collision.gameObject.CompareTag("Player"))
93         {
94             bossHealth--;
95         }
96     }
97 }