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