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);
}