]> git.lizzy.rs Git - SuperMouseAdventure.git/blob - 2DGame/Assets/Scripts/Gegner/EnemyCollision.cs
Invincibility Frames v2.0 und neue Soundeffekte
[SuperMouseAdventure.git] / 2DGame / Assets / Scripts / Gegner / EnemyCollision.cs
1 using System.Collections;
2 using System.Collections.Generic;
3 using UnityEngine;
4
5 public class EnemyCollision : MonoBehaviour
6 {
7     [SerializeField]
8     GameObject mouse;
9
10     SpriteRenderer spriteRenderer;
11
12     TrailRenderer trailRenderer;
13
14     PowerUps powerUps;
15
16     Health health;
17
18     EnemyScript eS;
19
20     public float flashingTime = 0.3f;
21     
22     private bool invulnerable = false;
23
24     // Start is called before the first frame update
25     void Start()
26     {
27         spriteRenderer = mouse.GetComponent<SpriteRenderer>();
28         trailRenderer = mouse.GetComponent<TrailRenderer>();
29         powerUps = mouse.GetComponent<PowerUps>();
30         health = mouse.GetComponent<Health>();
31         eS = GetComponent<EnemyScript>();
32     }
33
34     private void OnCollisionEnter2D(Collision2D collision)
35     {
36         if (collision.gameObject.CompareTag("Player") && invulnerable == false)
37         {
38             powerUps.mouseIsGardener = false;
39             health.GetDamage(eS.enemyDamage);
40             FindObjectOfType<AudioManager>().Play("drsh");
41             StartCoroutine ("GetInvincible");
42         }
43     }
44
45     IEnumerator GetInvincible()
46     {
47         invulnerable = true;
48         Physics2D.IgnoreLayerCollision(7, 8, true);
49         for (int i = 0; i < 4; i++)
50         {
51             spriteRenderer.enabled = false;
52             trailRenderer.enabled = false;
53             yield return new WaitForSeconds(flashingTime);
54             spriteRenderer.enabled = true;
55             trailRenderer.enabled = true;
56             yield return new WaitForSeconds(flashingTime);
57         }
58         Physics2D.IgnoreLayerCollision(7, 8, false);
59         spriteRenderer.enabled = true;
60         trailRenderer.enabled = true;
61         invulnerable = false;
62     }
63 }