private void InitUsageButtons() { int i = 0; foreach (KeyValuePair <string, Item.Usage> ud in _item.usages) { Item.Usage u = ud.Value; string name = ud.Key; InitButton(u, name, i); i++; } }
private void InitButton(Item.Usage u, string name, int i) { GameObject b = Instantiate(buttonPrefab); RectTransform brect = b.GetComponent <RectTransform>(); Button button = b.GetComponent <Button>(); //Set button transform brect.SetParent(rectTransform); Vector3 newPos = new Vector3(0, 0, brect.localPosition.z); newPos.x += padding; newPos.y -= padding + (i * brect.sizeDelta.y); brect.transform.localPosition = newPos; //Set Button onClick listener button.onClick.AddListener(() => u(new object[] { null, uIItem })); button.GetComponentInChildren <Text>().text = name; }