/// <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); }
[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); } } } }
/// <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); }
/// <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(); } }
/// <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(); }
/// <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); }
/// <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; }
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); }