1 using System.Collections;
2 using System.Collections.Generic;
5 public class EnemyCollision : MonoBehaviour
9 SpriteRenderer spriteRenderer;
11 TrailRenderer trailRenderer;
19 JumpOnEnemies jumpOnEnemies;
21 public float flashingTime = 0.1f;
23 private bool invulnerable = false;
25 // Start is called before the first frame update
28 mouse = GameObject.FindGameObjectWithTag("Player");
29 spriteRenderer = mouse.GetComponent<SpriteRenderer>();
30 trailRenderer = mouse.GetComponent<TrailRenderer>();
31 powerUps = mouse.GetComponent<PowerUps>();
32 health = mouse.GetComponent<Health>();
33 eS = GetComponent<EnemyScript>();
34 jumpOnEnemies = GameObject.FindGameObjectWithTag("GroundCheck").GetComponent<JumpOnEnemies>();
37 private void OnCollisionEnter2D(Collision2D collision)
39 if (collision.gameObject.CompareTag("Player") && !invulnerable)
41 powerUps.mouseIsGardener = false;
42 health.DealDamage(eS.enemyDamage);
44 Vector2 mousePos = collision.gameObject.GetComponent<Transform>().position;
45 Vector2 enemyPos = transform.position;
47 Vector2 knockback = mousePos - enemyPos;
48 knockback.Normalize();
49 knockback *= eS.enemyDamage * 36;
51 collision.gameObject.GetComponent<Rigidbody2D>().velocity += knockback;
53 FindObjectOfType<AudioManager>().Play("drsh");
54 StartCoroutine ("GetInvincible");
58 IEnumerator GetInvincible()
61 jumpOnEnemies.stunned = true;
62 Physics2D.IgnoreLayerCollision(7, 8, true);
63 for (int i = 0; i < 4; i++)
65 spriteRenderer.enabled = false;
66 trailRenderer.enabled = false;
67 yield return new WaitForSeconds(flashingTime);
68 spriteRenderer.enabled = true;
69 trailRenderer.enabled = true;
70 yield return new WaitForSeconds(flashingTime);
72 Physics2D.IgnoreLayerCollision(7, 8, false);
73 jumpOnEnemies.stunned = false;