]> git.lizzy.rs Git - SuperMouseAdventure.git/blob - 2DGame/Assets/Scripts/Gegner/EnemyCollision.cs
Invincibility Frames v.1.0
[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 invincibilityFrames;
21
22     private Color startSpriteColor;
23     private Color startTrailColor;
24     Color color;
25     
26     private bool invulnerable = false;
27
28     // Start is called before the first frame update
29     void Start()
30     {
31         spriteRenderer = mouse.GetComponent<SpriteRenderer>();
32         trailRenderer = mouse.GetComponent<TrailRenderer>();
33         powerUps = mouse.GetComponent<PowerUps>();
34         health = mouse.GetComponent<Health>();
35         eS = GetComponent<EnemyScript>();
36
37         startSpriteColor = spriteRenderer.material.color;
38         startTrailColor = trailRenderer.material.color;
39
40     }
41
42     // Update is called once per frame
43     void Update()
44     {
45         
46     }
47
48     private void OnCollisionEnter2D(Collision2D collision)
49     {
50         if (collision.gameObject.CompareTag("Player") && invulnerable == false)
51         {
52             powerUps.mouseIsGardener = false;
53             health.GetDamage(eS.enemyDamage);
54             StartCoroutine ("GetInvincible");
55         }
56     }
57
58     IEnumerator GetInvincible()
59     {
60         invulnerable = true;
61         Physics2D.IgnoreLayerCollision(7, 8, true);
62         color.a = 0.5f;
63         spriteRenderer.material.color = color;
64         trailRenderer.material.color = color;
65         yield return new WaitForSeconds(invincibilityFrames);
66         Physics2D.IgnoreLayerCollision(7, 8, false);
67         spriteRenderer.material.color = startSpriteColor;
68         trailRenderer.material.color = startTrailColor;
69         invulnerable = false;
70     }
71 }