public void UpdatePartsList(List <int> list, bool showRemove, int selectedDesignId) { removeBrickButton.interactable = showRemove; foreach (Transform tr in partsListUI) { Destroy(tr.gameObject); } for (int i = 0; i < list.Count; i++) { if (list[i] != selectedDesignId) { GameObject btn = Instantiate(partButtonPrefab) as GameObject; Image img = btn.transform.GetChild(0).GetComponent <Image> (); btn.name = list [i].ToString(); img.sprite = Resources.Load <Sprite> ("BrickTextures/" + list [i].ToString()); BrickPartDragHandler dragHandler = btn.GetComponent <BrickPartDragHandler>(); dragHandler.designId = list[i]; dragHandler.reversedPart = false; btn.transform.SetParent(partsListUI, false); } if (LXFMLHelper.IsSlope(list[i]) || LXFMLHelper.IsCurved(list[i])) { GameObject btn_reverse = Instantiate(partButtonPrefab) as GameObject; Image img_reverse = btn_reverse.transform.GetChild(0).GetComponent <Image> (); btn_reverse.name = list [i].ToString() + "_reverse"; img_reverse.sprite = Resources.Load <Sprite> ("BrickTextures/" + list [i].ToString()); img_reverse.transform.localScale = new Vector3(-1, 1, 1); BrickPartDragHandler dragHandler_reverse = btn_reverse.GetComponent <BrickPartDragHandler>(); dragHandler_reverse.reversedPart = true; dragHandler_reverse.designId = list[i]; btn_reverse.transform.SetParent(partsListUI, false); } } }