Есть N количество Button
Нам нужно при нажатии на все из них вызвать одну и ту же функцию но с разными данными
Для лучшего понимания на на Button ник игрока и при нажатии должна выскочить панелька с информацией о нем
Что имеем
Функция которая пробежится по всем Button и добавит к каждому функцию
Game.getGame()[i]- возвращает игрока и всю информацию о нем
Синтаксис:
Используется csharp
private void addEventForInformation()
{
for (int i = 0; i < Game.getGame().numberOfPlayers; i++)
{
GameObject.Find("InformationAboutPlayer" + (i + 1)).GetComponent<Button>().onClick.AddListener(() => { showPanelInformation(Game.getGame()[i]); });
}
}
{
for (int i = 0; i < Game.getGame().numberOfPlayers; i++)
{
GameObject.Find("InformationAboutPlayer" + (i + 1)).GetComponent<Button>().onClick.AddListener(() => { showPanelInformation(Game.getGame()[i]); });
}
}
Сама функция которую нужно вызвать
Синтаксис:
Используется csharp
private void showPanelInformation(Player player)
{
GameObject.Find("PanelNamePlayer").GetComponent<Text>().text = player.namePlayer;
GameObject.Find("PanelPealPlayerMoney").GetComponent<Text>().text = player.moneyPlayer+" $";
GameObject.Find("InformationPanelAboutPlayer").GetComponent<Animation>().enabled = true;
}
{
GameObject.Find("PanelNamePlayer").GetComponent<Text>().text = player.namePlayer;
GameObject.Find("PanelPealPlayerMoney").GetComponent<Text>().text = player.moneyPlayer+" $";
GameObject.Find("InformationPanelAboutPlayer").GetComponent<Animation>().enabled = true;
}
Компилится все нормально, но при нажании на Button выскакивает ексепшн- выход на пределы масива
Где что не так?
Как можно решить?