Ejemplo n.º 1
0
        /// <summary>
        /// <para> 작 성 자 : 이승엽 </para>
        /// <para> 작 성 일 : 2020.12.28 </para>
        /// <para> 내    용 : 플레이어가 가지고 있는 아이템 데이터를 불러오는 기능 </para>
        /// </summary>
        public List <MD_ItemData> Func_GetPlayerItemList()
        {
            List <MD_ItemData> _playerItemList = MD_XML.Instance.Func_GetItemData();

            for (int i = 0; i < _playerItemList.Count; i++)
            {
                for (int j = 0; j < itemList.Count; j++)
                {
                    if (_playerItemList[i].data_ID == (int)itemList[j]["id"])
                    {
                        MD_ItemData _itemData = new MD_ItemData();                          // 리스트에 있는 구조체를 변형하기 위해 할당
                        _itemData.data_ID          = (int)itemList[j]["id"];                // 아이템 아이디
                        _itemData.data_Name        = itemList[j]["name"].ToString();        // 아이템 이름
                        _itemData.data_Description = itemList[j]["explanation"].ToString(); // 아이템 설명
                        _itemData.data_Type        = (TYPE_ITEM)(int)itemList[j]["type"];   // 아이템 타입
                        _itemData.data_Count       = _playerItemList[i].data_Count;         // 플레이어가 가지고있는 아이템 개수

                        _playerItemList[i] = _itemData;
                        break;
                    }
                }
            }

            return(_playerItemList);
        }
Ejemplo n.º 2
0
        [SerializeField] protected MD_Inventory_Information informationOBJ;       // 아이템의 정보창

        #region 아이템 로드

        /// <summary>
        /// <para> 작 성 자 : 이승엽 </para>
        /// <para> 작 성 일 : 2020.12.16 </para>
        /// <para> 내    용 : 타입에 맞는 아이템데이터를 받아서 슬롯을 설정하고 각 슬롯에 아이템을 저장하는 기능 </para>
        /// </summary>
        public void Func_LoadItemInformation(List <MD_ItemData> _dataList)
        {
            List <MD_ItemData> _itemDataList = _dataList;

            if (Func_AddSlotAndCheckSlot(_itemDataList.Count))      // 아이템 개수 만큼 슬롯 늘리기
            {
                // 아이템이 슬롯보다 많음
                for (int i = 0; i < _itemDataList.Count; i++)
                {
                    slotList[i].Func_SetSlotData(_itemDataList[i], itemDragOBJ, informationOBJ);
                }
            }
            else
            {
                // 아이템이 슬롯보다 적음
                for (int i = 0; i < slotList.Count; i++)
                {
                    if (i <= _itemDataList.Count - 1)
                    {
                        slotList[i].Func_SetSlotData(_itemDataList[i], itemDragOBJ, informationOBJ);
                    }
                    else
                    {
                        MD_ItemData _voidData = new MD_ItemData();
                        _voidData.data_ID   = -1;
                        _voidData.data_Type = inventoryType;

                        slotList[i].Func_SetSlotData(_voidData, itemDragOBJ, informationOBJ);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// <para> 작 성 자 : 이승엽 </para>
        /// <para> 작 성 일 : 2020.12.28 </para>
        /// <para> 내    용 : 인벤토리의 정보창을 설정하고 활성화 하는 기능 </para>
        /// </summary>
        public void Func_SetInformation(MD_ItemData _data)
        {
            itemData                  = _data;
            text_ItemName.text        = itemData.data_Name;
            text_ItemDescription.text = itemData.data_Description;

            gameObject.SetActive(true);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// <para> 작 성 자 : 이승엽 </para>
        /// <para> 작 성 일 : 2020.12.15 </para>
        /// <para> 내    용 : 인벤토리 슬롯의 아이템 데이터를 설정하는 기능</para>
        /// </summary>
        public void Func_SetItemData(MD_ItemData _data)
        {
            itemData = _data;

            if (itemData.data_ID != -1)
            {
                Func_SetImage(_data.data_ID);           // 이미지 설정
                Func_SetItemCount(_data.data_Count);    // 아이템 개수
            }
            else
            {
                Func_VoidData();
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// <para> 작 성 자 : 이승엽 </para>
        /// <para> 작 성 일 : 2020.12.14 </para>
        /// <para> 내    용 : 첫 아이템의 값 확인 후 스왑할 아이템의 값을 설정하고 서로 스왑해주는 메서드 </para>
        /// </summary>
        public void Func_ItemSwap(MD_ItemData _data, MD_Item _item)
        {
            if (swapItem[0] == null)
            {
                return;
            }

            swapData[1] = _data;
            swapItem[1] = _item;

            if (swapItem[0] != null && swapItem[1] != null)
            {
                swapItem[0].Func_SetItemData(swapData[1]);
                swapItem[1].Func_SetItemData(swapData[0]);
            }

            Func_InitItemSwap();
        }
Ejemplo n.º 6
0
        /// <summary>
        /// <para> 작 성 자 : 이승엽 </para>
        /// <para> 작 성 일 : 2020.12.16 </para>
        /// <para> 내    용 : 아이템 리스트를 건네주는 메서드 </para>
        /// </summary>
        public List <MD_ItemData> Func_GetItemData()
        {
            List <MD_ItemData> _itemDataList = new List <MD_ItemData>();

            if (itemXML == null)
            {
                return(_itemDataList);
            }

            foreach (XmlElement item in itemXML.ChildNodes)
            {
                MD_ItemData _itemData = new MD_ItemData();

                _itemData.data_ID    = int.Parse(item.GetAttribute("ID"));    // 아이디 값
                _itemData.data_Count = int.Parse(item.GetAttribute("Count")); // 아이템 소지 개수

                _itemDataList.Add(_itemData);                                 // 카드 추가
            }

            return(_itemDataList);
        }
Ejemplo n.º 7
0
 /// <summary>
 /// <para> 작 성 자 : 이승엽 </para>
 /// <para> 작 성 일 : 2020.12.14 </para>
 /// <para> 내    용 : 아이템 스왑을 할 때 첫 아이템의 값을 설정하는 메서드 </para>
 /// </summary>
 public void Func_ItemSwapStart(MD_ItemData _data, MD_Item _item = null)
 {
     swapData[0] = _data;
     swapItem[0] = _item;
 }
Ejemplo n.º 8
0
 public void Func_SetSlotData(MD_ItemData _itemData, MD_Drag_ItemImage _dragImage, MD_Inventory_Information _Information)
 {
     slotItem.Func_SetItemData(_itemData);
     slotItem.Func_SetItemInformationOBJ(_Information);
     slotItem.GetComponent <MD_ItemDrag>()?.Func_SetDragImage(_dragImage);
 }