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