Exemplo n.º 1
0
    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);
            }
        }
    }
Exemplo n.º 2
0
    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");
    }