Beispiel #1
0
    /// <summary>
    /// 아이템 카드 리스트에 장비 아이템 데이터들을 삽입한다.
    /// </summary>
    private void InsertEquipmentItemDataToItemCardsList()
    {
        while (itemCardsList.Count > 0)
        {
            GameObject itemCard = itemCardsList[0];
            itemCardsList.RemoveAt(0);
            Destroy(itemCard);
        }

        // 플레이어 아이템 리스트의 정보를 가져와 아이템 카드 생성
        for (int i = 0; i < PlayerInformation.inventory.equipmentItemDataList.Count; i++)
        {
            GameObject itemCard = Instantiate(inventoryItemCard, transform.position, transform.rotation, scrollViewContent.transform) as GameObject;
            if (itemCard) // 아이템 카드를 생성했으면
            {
                InventoryItemDisplay item = itemCard.GetComponent <InventoryItemDisplay>();
                if (item) // 아이템이 존재한다면
                {
                    item.card.CopyData(PlayerInformation.inventory.equipmentItemDataList[i]);
                    item.UpdateUI();
                }
                else
                {
                    Debug.LogError("아이템이 존재하지 않는다!");
                }
                itemCardsList.Add(itemCard); // 리스트에 집어넣는다.
            }
            else
            {
                Debug.LogError("아이템 카드를 생성하지 못했습니다.");
            }
        }
    }
    /// <summary>
    /// UI를 업데이트할 때 호출
    /// </summary>
    public void UpdateUI()
    {
        // scroll view 패널에서 선택한 아이템의 카드 정보를 detail화면의 detailItemCard에 복사한다.
        inventoryItemCardInDetailPanel.card.CopyData(choicedItemCardObj.GetComponent <InventoryItemDisplay>().card);
        inventoryItemCardInDetailPanel.UpdateUI();

        attackPowerText.text  = inventoryItemCardInDetailPanel.card.atk.ToString();
        defencePowerText.text = inventoryItemCardInDetailPanel.card.def.ToString();
        attackSpeedText.text  = inventoryItemCardInDetailPanel.card.attackSpeed.ToString();

        ChangeEquipOrUnEquipButton();
    }