]> git.lizzy.rs Git - SuperMouseAdventure.git/commitdiff
Inivincibilty Frames for the snail
authorKG0104 <76601263+KG0104@users.noreply.github.com>
Sun, 26 Sep 2021 10:37:51 +0000 (12:37 +0200)
committerKG0104 <76601263+KG0104@users.noreply.github.com>
Sun, 26 Sep 2021 10:37:51 +0000 (12:37 +0200)
2DGame/Assets/Scenes/(1) Green_Idyll/green_idyll_10.unity
2DGame/Assets/Scripts/Enemies/Boss/Boss.cs
2DGame/Assets/Scripts/Enemies/Boss/BossCollision.cs [new file with mode: 0644]
2DGame/Assets/Scripts/Enemies/Boss/BossCollision.cs.meta [new file with mode: 0644]
2DGame/Assets/Scripts/Enemies/EnemyCollision.cs

index ff36625a0f476d8c5709083c7ea09433e48b34c2..32cd1b02a4f6d556355e67c0a4f243a82def4247 100644 (file)
@@ -1556,6 +1556,7 @@ GameObject:
   - component: {fileID: 243225409}
   - component: {fileID: 243225414}
   - component: {fileID: 243225413}
+  - component: {fileID: 243225412}
   m_Layer: 8
   m_Name: snail
   m_TagString: Boss
@@ -2155,6 +2156,19 @@ Animator:
   m_HasTransformHierarchy: 1
   m_AllowConstantClipSamplingOptimization: 1
   m_KeepAnimatorControllerStateOnDisable: 0
+--- !u!114 &243225412
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 243225404}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ed66910e4a1d1484897de833329dc42a, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  flashingTime: 0.3
 --- !u!114 &243225413
 MonoBehaviour:
   m_ObjectHideFlags: 0
index d31b28a14d4ca617d75d075d25f1366b8ef07fd9..6ebc634d96b026eb53791aa92e88618490fac061 100644 (file)
@@ -84,17 +84,4 @@ public class Boss : MonoBehaviour
             }
         }
     }
-
-    //Bei Beruehrung mit der Schere wird die Gesundheit um 1 verringert
-    public void OnCollisionEnter2D(Collision2D collision)
-    {
-        if (bossfight)
-        {
-            if (collision.gameObject.CompareTag("Bullet"))
-            {
-                bossHealth--;
-                Destroy(collision.gameObject);
-            }
-        }
-    }
 }
diff --git a/2DGame/Assets/Scripts/Enemies/Boss/BossCollision.cs b/2DGame/Assets/Scripts/Enemies/Boss/BossCollision.cs
new file mode 100644 (file)
index 0000000..df5893f
--- /dev/null
@@ -0,0 +1,49 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class BossCollision : MonoBehaviour
+{
+    Boss boss;
+
+    SpriteRenderer spriteRenderer;
+
+    public float flashingTime;
+    bool invulnerable;
+
+    private void Start()
+    {
+        boss = GetComponent<Boss>();
+        spriteRenderer = GetComponent<SpriteRenderer>();
+    }
+
+    //Bei Beruehrung mit der Schere wird die Gesundheit um 1 verringert
+    public void OnCollisionEnter2D(Collision2D collision)
+    {
+        if (boss.bossfight && !invulnerable)
+        {
+            if (collision.gameObject.CompareTag("Bullet"))
+            {
+                boss.bossHealth--;
+                Destroy(collision.gameObject);
+                StartCoroutine("GetInvincible");
+            }
+        }
+    }
+
+    IEnumerator GetInvincible()
+    {
+        invulnerable = true;
+        Physics2D.IgnoreLayerCollision(7, 8, true);
+        for (int i = 0; i < 4; i++)
+        {
+            spriteRenderer.enabled = false;
+            yield return new WaitForSeconds(flashingTime);
+            spriteRenderer.enabled = true;
+            yield return new WaitForSeconds(flashingTime);
+        }
+        Physics2D.IgnoreLayerCollision(7, 8, false);
+        spriteRenderer.enabled = true;
+        invulnerable = false;
+    }
+}
diff --git a/2DGame/Assets/Scripts/Enemies/Boss/BossCollision.cs.meta b/2DGame/Assets/Scripts/Enemies/Boss/BossCollision.cs.meta
new file mode 100644 (file)
index 0000000..9e0e3a8
--- /dev/null
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ed66910e4a1d1484897de833329dc42a
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
index e0e8cbdcc8a240929649e6e2796d2e1416afe999..4a29db33ce905512ad8febd34222e15ddfb859ab 100644 (file)
@@ -33,7 +33,7 @@ public class EnemyCollision : MonoBehaviour
 
     private void OnCollisionEnter2D(Collision2D collision)
     {
-        if (collision.gameObject.CompareTag("Player") && invulnerable == false)
+        if (collision.gameObject.CompareTag("Player") && !invulnerable)
         {
             powerUps.mouseIsGardener = false;
             health.DealDamage(eS.enemyDamage);