в UI кнопки через скрипт?
Если по подробнее:
Написать скрипт, который будет создавать кнопки из БД, которые буду добавлять коинов на сколько то единиц. Кнопки создаются, метод вроде прикрепляется. В параметре я передаю id итема в БД через int i в цикле for, но почему то во всех кнопках передается одно число, количество итемов в БД.
Вот куски кода:
[SerializeField] private ItemSO itemsDatabase; // SO БД итемов, то есть данных на сколько единиц увеличивать коины
[SerializeField] private GameObject buttonPrefab; // Префаб кнопки к которому хочу прикрепить метод добавления
[SerializeField] private GameObject itemsUI; // UI объект где будут создаваться кнопки
[SerializeField] private CoinManager coinManager; // скрипт с методами управления коинов
private IEnumerator CreateItemButtons()
{
for (var i = 0; i < itemsDatabase.Items.Count; i++)
{
GameObject newItemButton = Instantiate(buttonPrefab, itemsUI.transform);
newItemButton.GetComponent<Button>().onClick.AddListener(() => coinManager.AddItemToPlayer(i));
Debug.Log("we add AddItemToPlayer(" + i + ")");
}
yield return null;
}
У тебя замыкание происходит сделай что-то типа var cointId = i; и в лямдбу передавай ее
Аа блин, спасибо. Сейчас попробую 👍🏻
Спасибо тебе большое, получилось )) Мне надо изучить тему замыканий
Обсуждают сегодня