예제 #1
0
    private void ProcInit_InventoryData(List <CLASS_DATA> listInventoryData)
    {
        _mapInventoryData.Clear();

        int iCount_InventoryData = listInventoryData.Count;
        int iCount = _mapInventorySlot.Count;

        for (int i = 0; i < iCount; i++)
        {
            IInventorySlot pSlot = _mapInventorySlot[i];

            bool bContains_InventoryData = i < iCount_InventoryData;
            if (bContains_InventoryData)
            {
                CLASS_DATA sInfoData     = listInventoryData[i];
                string     strSpriteName = GetSpriteName(sInfoData);

                pSlot.OnSetSprite(strSpriteName);
                OnSetInventoryData(sInfoData, (CLASS_SLOT)pSlot);

                _mapInventoryData.Add(i, sInfoData);
            }

            pSlot.OnEnableSlot(bContains_InventoryData);
        }
    }
예제 #2
0
    private void ProcInit_InventorySlot()
    {
        IInventorySlot[] arrInventoryslot = GetComponentsInChildren <IInventorySlot>(true);

        int iLen = arrInventoryslot.Length;

        for (int i = 0; i < iLen; i++)
        {
            IInventorySlot pSlot = arrInventoryslot[i];

            if (_mapInventorySlot.ContainsKey(i))
            {
                Debug.LogWarning("이미 _mapInventorySlot 에 " + pSlot + " 가 있습니다...");
            }
            else
            {
                _mapInventorySlot.Add(i, pSlot);

                pSlot.DoInit(this);
                pSlot.OnEnableSlot(false);
            }
        }

        _iMaxSlotCount = iLen;
    }