From: KG0104 <76601263+KG0104@users.noreply.github.com> Date: Sun, 26 Sep 2021 10:37:51 +0000 (+0200) Subject: Inivincibilty Frames for the snail X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=74bf7d8d419e4d3892a96d95b7f1b8804e1f827f;p=SuperMouseAdventure.git Inivincibilty Frames for the snail --- diff --git a/2DGame/Assets/Scenes/(1) Green_Idyll/green_idyll_10.unity b/2DGame/Assets/Scenes/(1) Green_Idyll/green_idyll_10.unity index ff36625..32cd1b0 100644 --- a/2DGame/Assets/Scenes/(1) Green_Idyll/green_idyll_10.unity +++ b/2DGame/Assets/Scenes/(1) Green_Idyll/green_idyll_10.unity @@ -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 diff --git a/2DGame/Assets/Scripts/Enemies/Boss/Boss.cs b/2DGame/Assets/Scripts/Enemies/Boss/Boss.cs index d31b28a..6ebc634 100644 --- a/2DGame/Assets/Scripts/Enemies/Boss/Boss.cs +++ b/2DGame/Assets/Scripts/Enemies/Boss/Boss.cs @@ -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 index 0000000..df5893f --- /dev/null +++ b/2DGame/Assets/Scripts/Enemies/Boss/BossCollision.cs @@ -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(); + spriteRenderer = GetComponent(); + } + + //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 index 0000000..9e0e3a8 --- /dev/null +++ b/2DGame/Assets/Scripts/Enemies/Boss/BossCollision.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ed66910e4a1d1484897de833329dc42a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/2DGame/Assets/Scripts/Enemies/EnemyCollision.cs b/2DGame/Assets/Scripts/Enemies/EnemyCollision.cs index e0e8cbd..4a29db3 100644 --- a/2DGame/Assets/Scripts/Enemies/EnemyCollision.cs +++ b/2DGame/Assets/Scripts/Enemies/EnemyCollision.cs @@ -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);