void OnCollisionEnter2D(Collision2D collision) { NPlayerController np = collision.collider.gameObject.GetComponent <NPlayerController>(); NWeapon w = collision.collider.gameObject.GetComponent <NWeapon>(); if (np != null && gracePeriod <= 0) { np.HitByPlasma(transform.position); IEnumerator explosion = Explosion(1f, 0.25f); StartCoroutine(explosion); } else if (collision.collider.gameObject.layer.Equals(LayerMask.NameToLayer("Platforms")) && !collided) { IEnumerator explosion = Explosion(1f, 0.25f); StartCoroutine(explosion); } else if (w != null) { NWeaponPlasma wp = collision.collider.gameObject.GetComponent <NWeaponPlasma>(); if (wp != null) { if (transform.localScale.x > wp.transform.localScale.x) { wp.HitByPlasma(transform.position); IEnumerator explosion = Explosion(2f, 0.5f); StartCoroutine(explosion); } } else { w.HitByPlasma(transform.position); IEnumerator explosion = Explosion(0.25f, 0.1f); StartCoroutine(explosion); } } }