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