Buenas.
Necesito que mi programa lea las carpetas que tengo dentro de una carpeta,y lea los archivos que tengo dentro de esas carpetas (en este caso un .exe y unos .png)
El objetivo es que por cada carpeta que exista, se cree un botón con la imagen que hay dentro de esa carpeta y al dar click que se ejecute el .exe que hay dentro de la carpeta también.
if (Directory.Exists(rutasapp)) {
foreach (string dataApp in Directory.GetDirectories(rutasapp)) {
AppButton button = Instantiate(buttonPrefab);
button.transform.SetParent(layout);
//buscamos todos los ficheos que sean .exe y los guardamos en data
foreach (string data in Directory.GetFiles(@dataApp)) {
if (Path.GetExtension(@data) == ".exe") {
//al clicar el boton ejecutamos el exe que hemos guardado anteriormente .NO FUNCIONA
button.GetComponent<Button>().onClick.AddListener(() => Process.Start(data));
UnityEngine.Debug.Log(data);
}
//buscamos todas las imagenes que sean .png y las guardamos en imagenes
foreach (string imagenes in Directory.GetFiles(@dataApp)) {
if (Path.GetExtension(@imagenes) == ".png") {
//UnityEngine.Debug.Log(imagenes);
}
}
}
}
}
}
Tengo ese codigo que funciona maso menos bien.Me crea unos botones por cada carpeta que tengo y luego busco los archivos que son .exe y .png y los guardo en data y imágenes.
Cuando agrego esta linea para que se ejecute el .exe, al intentar ejecutar el programa me da el siguiente error:
button.GetComponent<Button>().onClick.AddListener(() => Process.Start(data));
NullReferenceException: Object reference not set to an instance of an object
¿Alguna idea de como hacerlo?