From: Elias Fleckenstein Date: Sat, 30 Oct 2021 16:10:45 +0000 (+0200) Subject: Implement stunning X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=9420dbce2ccd2c1e3dd0a77ddc9b7b5fb328e721;p=SuperMouseAdventure.git Implement stunning --- 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 59cbf83..a1c6ce8 100644 --- a/2DGame/Assets/Scenes/(1) Green_Idyll/green_idyll_10.unity +++ b/2DGame/Assets/Scenes/(1) Green_Idyll/green_idyll_10.unity @@ -9550,8 +9550,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 86228eec2ce28124cae697faf008036d, type: 3} m_Name: m_EditorClassIdentifier: - gardenCheese: {fileID: 405401497} - mouseRenderer: {fileID: 936765970} mouseIsGardener: 0 --- !u!114 &936765981 MonoBehaviour: @@ -9625,7 +9623,7 @@ GameObject: - component: {fileID: 972365584} m_Layer: 0 m_Name: GroundCheck - m_TagString: Untagged + m_TagString: GroundCheck m_Icon: {fileID: 7250588514170254948, guid: 0000000000000000d000000000000000, type: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -9674,6 +9672,7 @@ MonoBehaviour: m_EditorClassIdentifier: mouse: {fileID: 936765968} knockBackValue: 30 + stunned: 0 --- !u!1 &994169121 GameObject: m_ObjectHideFlags: 0 diff --git a/2DGame/Assets/Scripts/Enemies/EnemyCollision.cs b/2DGame/Assets/Scripts/Enemies/EnemyCollision.cs index 16f49db..e15390a 100644 --- a/2DGame/Assets/Scripts/Enemies/EnemyCollision.cs +++ b/2DGame/Assets/Scripts/Enemies/EnemyCollision.cs @@ -16,6 +16,8 @@ public class EnemyCollision : MonoBehaviour EnemyScript eS; + JumpOnEnemies jumpOnEnemies; + public float flashingTime = 0.1f; private bool invulnerable = false; @@ -29,6 +31,7 @@ public class EnemyCollision : MonoBehaviour powerUps = mouse.GetComponent(); health = mouse.GetComponent(); eS = GetComponent(); + jumpOnEnemies = GameObject.FindGameObjectWithTag("GroundCheck").GetComponent(); } private void OnCollisionEnter2D(Collision2D collision) @@ -55,6 +58,7 @@ public class EnemyCollision : MonoBehaviour IEnumerator GetInvincible() { invulnerable = true; + jumpOnEnemies.stunned = true; Physics2D.IgnoreLayerCollision(7, 8, true); for (int i = 0; i < 4; i++) { @@ -66,6 +70,7 @@ public class EnemyCollision : MonoBehaviour yield return new WaitForSeconds(flashingTime); } Physics2D.IgnoreLayerCollision(7, 8, false); + jumpOnEnemies.stunned = false; invulnerable = false; } } diff --git a/2DGame/Assets/Scripts/Mouse/JumpOnEnemies.cs b/2DGame/Assets/Scripts/Mouse/JumpOnEnemies.cs index 5fdee35..c71f282 100644 --- a/2DGame/Assets/Scripts/Mouse/JumpOnEnemies.cs +++ b/2DGame/Assets/Scripts/Mouse/JumpOnEnemies.cs @@ -5,15 +5,17 @@ using UnityEngine; public class JumpOnEnemies : MonoBehaviour { EnemyScript enemyScript; - + [SerializeField] GameObject mouse; public float knockBackValue = 30; + public bool stunned = false; + private void OnTriggerEnter2D(Collider2D collision) { - if (collision.gameObject.CompareTag("Enemy")) + if (collision.gameObject.CompareTag("Enemy") && !stunned) { enemyScript = collision.gameObject.GetComponent(); diff --git a/2DGame/ProjectSettings/TagManager.asset b/2DGame/ProjectSettings/TagManager.asset index c987056..12e24e1 100644 --- a/2DGame/ProjectSettings/TagManager.asset +++ b/2DGame/ProjectSettings/TagManager.asset @@ -17,6 +17,7 @@ TagManager: - Thorn - Bullet - Stamp + - GroundCheck layers: - Default - TransparentFX