// Update is called once per frame void Update() { if (Time.time - collision_time > collision_timespan && has_collided == true) { has_collided = false; hit_animator.SetBool("Ship Hit", false); } if (is_asteroid is true) { var projectiles = FindObjectsOfType <projectile_move>(); foreach (projectile_move projectile in projectiles) { var projectile_relative_position = Mathf.Pow(projectile.transform.position.x - transform.position.x, 2) + Mathf.Pow(projectile.transform.position.y - transform.position.y, 2); if (projectile_relative_position < collision_boundary) { game.Play_Crash_Sound(); has_collided = true; Destroy(projectile.gameObject); score_manager.Update_Score(hit_score); childmaker.Instantiate_Child(transform); Destroy(gameObject); } } } else { var asteroids = FindObjectsOfType <asteroid_move>(); foreach (asteroid_move asteroid in asteroids) { var asteroid_relative_position = Mathf.Pow(asteroid.transform.position.x - transform.position.x, 2) + Mathf.Pow(asteroid.transform.position.y - transform.position.y, 2); if (asteroid_relative_position < collision_boundary && has_collided == false) { game.Play_Crash_Sound(); live.reduce_live(1); has_collided = true; hit_animator.SetBool("Ship Hit", true); collision_time = Time.time; } } } }