public override void OnFixedUpdate() { if (Menu.IsPaused) { return; } if (isHeld) { Transform.Position = target.Position + Direction + Vector2.Up * .1; } else { lifeTime -= Render.Delta; activateGravityTime -= Render.Delta; if (lifeTime <= 0) { GameObject.Destroy(); return; } // Follow target and direction Transform.Position += direction * 0.8; if (activateGravityTime < 0) { direction.y -= .06; } } foreach (var collision in collider.OverlapAll(Transform.Position)) { if (collision.transform == target) { return; } var blade = collision.gameobject.GetComponent <Blade>(); var player = collision.gameobject.GetComponent <Character>(); if (blade == true || player == true) { if (blade) { blade.GameObject.Destroy(); } if (player) { player.GameObject.Destroy(); } GameObject.Destroy(); } else if (!isHeld) { GameObject.Destroy(); } } }