private void OnTriggerEnter2D(Collider2D other)
    {
        if (farted && initialFartTime - fartTime > 0.05f && CollisionLayers.ContainsLayer(other.gameObject))
        {
            StopFart(!IsGrounded);
        }

        if (other.tag == "Carrot")
        {
            other.GetComponent <Carrot>().Collect();
            PlayerHealth.Instance.Health += (PlayerHealth.Instance.carrotHealthRechargePercent * PlayerHealth.Instance.maxHealth);
            fartAvailableTime             = Mathf.Min(fartAvailableTime + (fartMaxAvailableTime * carrotFartRechargePercent), fartMaxAvailableTime);
            PlayCarrotSound();
        }
        else if (other.tag == "Coin")
        {
            other.GetComponent <Coin>().Collect();
            coins++;
            PlayCoinSound();
        }
        else if (other.tag == "Flagpole")
        {
            var flagpole = other.GetComponent <Flagpole>();

            if (!flagpole.Activated)
            {
                PlayerHealth.Instance.PlayFlagSound();
                flagpole.Activate();
                DisableInput();
                StartCoroutine(GameMenu.Instance.ShowGameOver(1.2f));
            }
        }
    }