]> git.lizzy.rs Git - SuperMouseAdventure.git/commitdiff
Invincibility Frames v1.1
authorKG0104 <76601263+KG0104@users.noreply.github.com>
Mon, 9 Aug 2021 11:21:49 +0000 (13:21 +0200)
committerKG0104 <76601263+KG0104@users.noreply.github.com>
Mon, 9 Aug 2021 11:21:49 +0000 (13:21 +0200)
2DGame/Assets/Scripts/Gegner/EnemyCollision.cs

index 643a68ddf9958a4dfc351270b498c2bde043054a..865f3ae23cfe046ebce56f941a22caec0d553fde 100644 (file)
@@ -17,11 +17,8 @@ public class EnemyCollision : MonoBehaviour
 
     EnemyScript eS;
 
-    public float invincibilityFrames;
-
-    private Color startSpriteColor;
-    private Color startTrailColor;
-    Color color;
+    private float invincibilityFrames;
+    public float startInvincibilityFrames = 0.2f;
     
     private bool invulnerable = false;
 
@@ -33,16 +30,14 @@ public class EnemyCollision : MonoBehaviour
         powerUps = mouse.GetComponent<PowerUps>();
         health = mouse.GetComponent<Health>();
         eS = GetComponent<EnemyScript>();
-
-        startSpriteColor = spriteRenderer.material.color;
-        startTrailColor = trailRenderer.material.color;
-
+        invincibilityFrames = startInvincibilityFrames;
     }
 
     // Update is called once per frame
     void Update()
     {
-        
+        print(invincibilityFrames);
+        print(invulnerable);
     }
 
     private void OnCollisionEnter2D(Collision2D collision)
@@ -59,13 +54,20 @@ public class EnemyCollision : MonoBehaviour
     {
         invulnerable = true;
         Physics2D.IgnoreLayerCollision(7, 8, true);
-        color.a = 0.5f;
-        spriteRenderer.material.color = color;
-        trailRenderer.material.color = color;
-        yield return new WaitForSeconds(invincibilityFrames);
+        while (invincibilityFrames > 0)
+        {
+            invincibilityFrames -= Time.deltaTime;
+            spriteRenderer.enabled = false;
+            trailRenderer.enabled = false;
+            yield return new WaitForSeconds(0.3f);
+            spriteRenderer.enabled = true;
+            trailRenderer.enabled = true;
+            yield return new WaitForSeconds(0.3f);
+        }
         Physics2D.IgnoreLayerCollision(7, 8, false);
-        spriteRenderer.material.color = startSpriteColor;
-        trailRenderer.material.color = startTrailColor;
+        spriteRenderer.enabled = true;
+        trailRenderer.enabled = true;
+        invincibilityFrames = startInvincibilityFrames;
         invulnerable = false;
     }
 }