void Start() { slots = go_SlotsParent.GetComponentsInChildren <IventorySlot>(); if (Application.platform == RuntimePlatform.Android) { jsonString = File.ReadAllText(Application.persistentDataPath + "/Resources/Json/itemdata.json"); } else { jsonString = File.ReadAllText(Application.dataPath + "/Resources/Json/itemdata.json"); } itemDataList = JsonUtility.FromJson <ItemDataList>(jsonString); if (itemDataList == null) { itemDataList = new ItemDataList(); itemDatas = new List <ItemData>(); } else { itemDatas = new List <ItemData>(itemDataList.itemDatas); foreach (ItemData itemData in itemDataList.itemDatas) { Itemgem _item = Resources.Load <GameObject>("Prefabs/Gems/" + itemData.itemname).GetComponent <Itemgem>(); slots[itemData.itemorder].AddItem(_item, itemData.itemcount); } } }
/// <summary> /// 아이템 획득 /// </summary> /// <param name="_item"></param> /// <param name="_count"></param> public void AddItem(Itemgem _item, int _count = 1) { itemname = _item.itemName; itemImage.sprite = _item.itemIcon; itemCount += _count; text_Count.text = itemCount.ToString(); SetColor(1); }
/// <summary> /// 인벤토리에 넣는 방법 /// </summary> /// <param name="_item"></param> /// <param name="_count"></param> public void AcquireItem(Itemgem _item, int _count = 1) { for (int i = 0; i < slots.Length; i++) { if (slots[i].itemname.Equals(string.Empty)) { slots[i].AddItem(_item, _count); //여기에 추가하는 로직 구현 ItemData itemData = new ItemData(_item.itemName, slots[i].itemCount, i); itemDatas.Add(itemData); itemDataList.itemDatas = itemDatas.ToArray(); if (Application.platform == RuntimePlatform.Android) { File.WriteAllText(Application.persistentDataPath + "/Resources/Json/itemdata.json", JsonUtility.ToJson(itemDataList)); } else { File.WriteAllText(Application.dataPath + "/Resources/Json/itemdata.json", JsonUtility.ToJson(itemDataList)); } return; } else { if (slots[i].itemname == _item.itemName) { slots[i].SetSlotCount(_count); //여기에 수정해서 저장하는 로직 구현 foreach (var itemdata in itemDatas) { if (itemdata.itemname.Equals(_item.itemName)) { itemdata.itemcount += _count; break; } } itemDataList.itemDatas = itemDatas.ToArray(); if (Application.platform == RuntimePlatform.Android) { File.WriteAllText(Application.persistentDataPath + "/Resources/Json/itemdata.json", JsonUtility.ToJson(itemDataList)); } else { File.WriteAllText(Application.dataPath + "/Resources/Json/itemdata.json", JsonUtility.ToJson(itemDataList)); } return; } } } }