private void OnCollisionEnter2D(Collision2D col) { int damage = speed * 10; // Set damage based on asteroid speed col.gameObject.GetComponent <Rigidbody2D>().AddForce((col.collider.ClosestPoint(transform.position) - (Vector2)transform.position).normalized * 300); // Use amazing linear algebra to push object away from asteroid SpaceObject obj = col.gameObject.GetComponent <SpaceObject>(); obj.StartCoroutine(obj.Flash(Color.red, 0.075f)); if (col.gameObject.tag == "Player") // If hitting player { GameSystem.instance.soundManager.PlayOneShot(GameSystem.instance.PlayerSounds[8]); // Play sound effect Player player = col.gameObject.GetComponent <Player>(); player.DecreaseHealthShield(damage); } else { col.gameObject.GetComponent <SpaceObject>().hp -= damage; } }