Siemka.
Mam sobie zmienną foldersIndex typu int i GameObject o nazwie data, który jest instancją.
Chciałbym do obiektu data dodać do komponentu Button (w OnClick) funkcję z zmienną.
public int foldersIndex;
public void LoadDatabase()
{
for(int i=0; i<=99; i++)
{
if(database1[i,0]!=null)
{
GameObject data;
if(foldersX>2)
foldersX=0;
data = Instantiate(folder, new Vector3(foldersX*310+170, -35-(60*Mathf.Floor(foldersY/3))), transform.rotation);
data.gameObject.GetComponent<Button>().onClick.AddListener(delegate {ViewFolder(foldersIndex); }); //tutaj dodaję onclick z funkcją która wymaga zmiennej.
folders[foldersIndex]=data;
foldersIndex++;
data.transform.SetParent(canvas.transform, false);
data.gameObject.GetComponentInChildren<Text>().text=database1[i,0];
}
}
}
public void ViewFolder(int folderID)
{
//...
}
Problem w tym, że kiedy zmienię folderIndex, zmienna zmienia się także w onClicku. Da się temu jakoś zapobiec?