using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class MtexUI_002 : MonoBehaviour { public GameObject Canvas01, Canvas02, MyGridObject; public Button ButtonGoTo01, ButtonGoTo02; public GameObject ButtonPrefab01; void Start() { GoTo01(); ButtonGoTo01.onClick.AddListener(delegate { GoTo01(); }); ButtonGoTo02.onClick.AddListener(delegate { GoTo02(); }); var MyGridObjectInstance01 = Instantiate(MyGridObject, MyGridObject.transform); MyGridObjectInstance01.name = "MyGridObjectInstance01"; MyGridObjectInstance01.SetActive(true); MyGridObjectInstance01.transform.SetParent(Canvas01.transform); for (int i = 0; i < 20; i++) { Debug.Log("button: " + i); AddButton(MyGridObjectInstance01, ButtonPrefab01, i); } var MyGridObjectInstance02 = Instantiate(MyGridObject, MyGridObject.transform); MyGridObjectInstance02.name = "MyGridObjectInstance02"; MyGridObjectInstance02.SetActive(true); MyGridObjectInstance02.transform.SetParent(Canvas02.transform); for (int i = 0; i < 20; i++) { Debug.Log("button: " + i); AddButton(MyGridObjectInstance02, ButtonPrefab01, i); } } void Update() { // no updates on per screen basis } private void GoTo01() { Debug.Log("Clicked go to 1"); Canvas01.SetActive(true); Canvas02.SetActive(false); } private void GoTo02() { Debug.Log("Clicked go to 2"); Canvas02.SetActive(true); Canvas01.SetActive(false); } private void AddButton(GameObject MyCanvas, GameObject ButtonPrefab, int n) { var ButtonInstance = Instantiate(ButtonPrefab, new Vector3(0,0,0), Quaternion.identity); ButtonInstance.transform.SetParent(MyCanvas.transform); ButtonInstance.name = "button_" + n; ButtonInstance.GetComponentInChildren().text = MyCanvas.name+ "__" +ButtonInstance.name; } }