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]); } }
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); }