// 인벤토리 UI 새로고침
    public void RefreshInventory()
    {
        // 인벤토리 키순으로 정렬
        battleInventory  = battleInventory.OrderBy(_itemSlotData => _itemSlotData.itemData.key).ToList();  // 키순으로 정렬
        collectInventory = collectInventory.OrderBy(_itemSlotData => _itemSlotData.itemData.key).ToList(); // 키순으로 정렬

        // 인벤토리 데이터 설정
        int i = 0;

        foreach (ItemSlotData itemSlotData in battleInventory)
        {
            itemSlotData.fromSlotType = SlotType.battleSlot;
            itemSlotData.index        = i;
            i++;
        }
        i = 0;
        foreach (ItemSlotData itemSlotData in collectInventory)
        {
            itemSlotData.fromSlotType = SlotType.collectSlot;
            itemSlotData.index        = i;
            i++;
        }

        // 인벤토리 정보 가져오기
        List <ItemSlotData> inventory = new List <ItemSlotData>();
        SlotType            slotType;

        if (invetoryCategory == InventoryCategory.battle)
        {
            inventory = battleInventory;
            slotType  = SlotType.battleSlot;
        }
        else
        {
            inventory = collectInventory;
            slotType  = SlotType.collectSlot;
        }

        // itemSlotUI 전부 없애기
        foreach (Transform child in content.transform)
        {
            Destroy(child.gameObject);
        }

        // itemSlotUI 재생성
        foreach (ItemSlotData itemSlotData in inventory)
        {
            ItemSlotUI _itemSlotUI = Instantiate(itemSlotUI, content.transform).GetComponent <ItemSlotUI>();
            _itemSlotUI.ItemSlotData              = itemSlotData;
            _itemSlotUI.ItemSlotData.itemSlotUI   = _itemSlotUI;
            _itemSlotUI.ItemSlotData.fromSlotType = slotType;
            _itemSlotUI.slotType = slotType;
            _itemSlotUI.RefreshSlot();
            i++;
        }
    }
Exemplo n.º 2
0
 public void RefreshInventory()
 {
     // 재료 슬롯 리스트 출력
     foreach (Transform child in materialItemSlotPanel.transform)
     {
         Destroy(child.gameObject);
     }
     foreach (ItemSlotData itemSlotData in materialInventory)
     {
         ItemSlotUI _itemSlotUI = Instantiate(itemSlotUI, materialItemSlotPanel.transform).GetComponent <ItemSlotUI>();
         _itemSlotUI.ItemSlotData            = itemSlotData;
         _itemSlotUI.ItemSlotData.itemSlotUI = _itemSlotUI;
         _itemSlotUI.slotType = SlotType.materialSlot;
         _itemSlotUI.RefreshSlot();
     }
 }