Example #1
0
    public void DoSetInvetoryItem <T>(List <T> listSlotData, bool bIsAutoGenerateSlot = false)
        where T : IInventorySlotData
    {
        for (int i = 0; i < p_listInventorySlot.Count; i++)
        {
            p_listInventorySlot[i].DoSet_InventorySlot(null);
        }

        if (listSlotData == null)
        {
            return;
        }

        for (int i = 0; i < listSlotData.Count; i++)
        {
            CUGUIInventorySlot pSlot = null;
            if (i >= p_listInventorySlot.Count)
            {
                if (bIsAutoGenerateSlot == false)
                {
                    break;
                }

                pSlot = DoCreate_NewSlot();
            }
            else
            {
                pSlot = p_listInventorySlot[i];
            }

            pSlot.DoSet_InventorySlot(listSlotData[i]);
        }
    }
Example #2
0
    public CUGUIInventorySlot DoCreate_NewSlot()
    {
        if (p_pSlotOrigin == null)
        {
            Debug.LogError(name + "DoCreate_NewSlot - p_pSlotOrigin == null", this);
            return(null);
        }

        GameObject pObjectSlot = Instantiate(p_pSlotOrigin.gameObject);

        pObjectSlot.transform.SetParent(_pTransform_Grid_Slot);
        pObjectSlot.transform.DoResetTransform();
        pObjectSlot.SetActive(true);
        pObjectSlot.gameObject.name = "Slot_" + p_listInventorySlot.Count;

        CUGUIInventorySlot pNewSlot = pObjectSlot.GetComponent <CUGUIInventorySlot>();

        p_listInventorySlot.Add(pNewSlot);

        return(pNewSlot);
    }