how to delete buttons listener

I’m making three button that gives player random upgrade selection
So when player level up script choose random upgrade and
put diffrent onClick.AddListener for each button
and when I click button
onClick.RemoveListener activate to clear button for next level up
but problem is button which I didn’t select
onClick.RemoveListener only affect in button which I select
so another button’s listener is still remaining and it makes wrong upgrade result in next level up
Sadly I don’t have any idea how to remove unclicked button’s listener
Is there any way to remove all button’s listener when I choose upgrade?

here is my script sample for upgrade

//Onclick add listener by switch

            case "ATK Upgrade":
                B1.onClick.AddListener(ATKLevelUp);
                b = "null";
                break;

//ATK upgrade

    void ATKLevelUp()
    {
        if (StatManager.LevelChanged == false)
        {
            StatManager.ATK = StatManager.ATK + 1f;
            StatManager.LevelChanged = true;
        }
        B1.onClick.RemoveListener(ATKLevelUp);
    }

Have you tried B2.onClick.RemoveAllListeners(); ?

yes Button2 also have Remove listener
but if I select button1 at level up
then b2.onClick dosen’t work because there is only one chance to click button per level up :frowning: