Обработка метода OnClick в Unity несколько раз в панели кнопок

Дорогие гуру Unity game разработчики нужна помощь начинающему )) В Unity в 2d есть панель из 4 кнопок, по нажатию которых я меняю текст другого компонента. И все работало. Но понадобилось брать текст еще одного компонента и менять его на нужный. Столкнулся что по нажатию на кнопку метод обрабатывает 3 раза. Подскажите люди добрые в чем косяк и как его исправить. За ранее спасибо.

Код:

public class PlusPercentWin : MonoBehaviour
{
    public Text Name1;
    public Text Amount1;

    public Button button1;
    public Button button2;
    public Button button3;
    public Button button4;
    
    private int basename=100;
    int y = 0;

    void OnEnable()
    {
        button1.onClick.AddListener(() => ButtonCallBack1());
        //button2.onClick.AddListener(() => ButtonCallBack2()); остальные кнопки по аналогии
        //button3.onClick.AddListener(() => ButtonCallBack3());
        //button4.onClick.AddListener(() => ButtonCallBack4());
    }

    private void ButtonCallBack1() {
        int b1;
        b1 = int.Parse(Amount1.text.ToString()); // беру из второго объекта значение текста (оно всегда целое число) 
        b1 +=1;
        string str = b1.ToString();
        Amount1.text = str; // возвращаю обработанное значение - в тексте объекта выводит значение +3, вместо +1.
        y++; // для интереса добавил посмотреть что будет в логе
        Debug.Log(y); // в логе выводит y+1 но 3 раза
        basename += 1; 
        Name1.text = basename + " worlrd";     // первый объект - записывает в текст корректное значение +1. в логе тоже выводит корректно но 3 раза.
 
    } 

Фактически вопрос сводится к тому - как корректно вынять значение из текста - обработать по нажатию кнопки и вернуть обратно обработанный. Т.к. в данном случае что-то идет не так. Для примера - есть отдельно компонент Текст, компонент Input Field и кнопка - и там все работает гуд. Беру значение из Текст ( Text.GetComponent().text.ToString() ), значение из инпута кнопкой обрабатываю (OnClick) - все четенько. А тут не хочет.


Ответы (1 шт):

Автор решения: Yaroslav

btn.onClick.AddListener(() => met()); как-то криво работаю, сам сталкивался с косяками.

// функция события указывается в инспекторе кнопки OnClick
// с указанием аргумета для каждой кнопки 0, 1, 2, 3.
public void PlayerChoise (int index) 
{

}
→ Ссылка