He estado luchando con esto durante el último par de horas. Puedo acceder y editar las propiedades del botón, pero la función onClick.AddListener() no funciona. Aquí está mi código:
GameObject gameObject; gameObject = Resources.Load("Prefabs/MenuOption") as GameObject; gameObject.GetComponent<Image>().sprite = Resources.Load<Sprite>(option.imgPath); Button button = gameObject.GetComponent<Button>(); // Testing to see if I can change button properties (works) ColorBlock colorss = button.colors; colorss.highlightedColor = Color.magenta; button.colors = colorss; // This does not work button.onClick.AddListener(() => Test(button)); button.onClick.AddListener(() => { Debug.Log("click"); }); Instantiate(gameObject, pos, new Quaternion(), GameObject.Find("Canvas").transform);Y aquí hay una instancia del prefabricado: imagen
Si alguien sabe que estoy haciendo mal, se lo agradeceria mucho.
Suscribirse al evento onClick en el objeto del juego instanciado (no en el objeto del juego que usa para instanciar otro objeto) debería resolver su problema.