public void AddPiece() { UIManager.Instance.ToInventoryPieces(); Transform piecesParent = UIManager.Instance.inventoryUI.itemsParents; for (int i = 0; i < piecesParent.childCount; i++) { InventoryItemUI iiui = piecesParent.GetChild(i).GetComponent <InventoryItemUI>(); if (iiui != null) { iiui.AddListener <string>(AddPiece, iiui.item.Code); iiui.AddListener(Work); } } }
public void UpdatePieces() { ClearPieces(); foreach (Piece p in ensambler.pieces) { //Create the piece in the bottom bar GameObject go = ObjectPool.Instantiate(toEnsamble.prefab, toEnsamble.prefab.transform.position, toEnsamble.prefab.transform.rotation, toEnsamble.parent); RectTransform rect = go.GetComponent <RectTransform>(); rect.transform.localScale = Vector3.one; InventoryItemUI itemUI = go.GetComponent <InventoryItemUI>(); itemUI.ResetListeners(); itemUI.AddListener <string>(RemovePiece, p.id); itemUI.AddListener(ensambler.Rest); itemUI.AddListener(UpdateTime); itemUI.item = p.ToInventory(); itemUI.UpdateUI(); //Create the piece in the preview GameObject goP = ObjectPool.Instantiate(toyPreviewPrefab, toyPreviewPrefab.transform.position, toyPreviewPrefab.transform.rotation, toyPreview); RectTransform goTransform = goP.GetComponent <RectTransform>(); //goTransform.localScale = Vector3.one; goTransform.anchorMin = Vector2.zero; goTransform.anchorMax = Vector2.one; goTransform.pivot = new Vector2(0.5f, 0.5f); goTransform.localPosition = Vector3.zero; goP.GetComponent <Image>().sprite = p.sprite; goP.GetComponent <Image>().color = p.color; goP.GetComponent <Image>().preserveAspect = true; } GameObject goAdd = ObjectPool.Instantiate(toEnsamble.addPiecePrefab, toEnsamble.addPiecePrefab.transform.position, toEnsamble.addPiecePrefab.transform.rotation, toEnsamble.parent); RectTransform rectAdd = goAdd.GetComponent <RectTransform>(); rectAdd.transform.localScale = Vector3.one; goAdd.GetComponent <InventoryItemUI>().ResetListeners(); goAdd.GetComponent <InventoryItemUI>().AddListener(AddPiece); print("Pieces updated"); }