So im doing a databse for my survival game and recently i started adding attachments but i have a problem with deserializing them from Json. My code looks like this:
string weaponData;
public List<Item> database = new List<Item>();
public void ConstructWeaponDatabase(){
AddItemsToDatabase(JsonConvert.DeserializeObject<List<Item>>(weaponData));
}
[System.Serializable]
public class Attachment {
public string name;
public List<string> acceptedThings;
public int attachedItem;
}
[System.Serializable]
public class Item {
//variables
public List<Attachment> Attachments;
//other stuff
}
Weapon data is loaded from a .json file by ReadAllText().
Add items to database goes through every item and initializes unserializable data(icon, prefab,…).
My json file looks like this:
[{
[other item]
}
,{
[other variables]
"attachments":[
{
"name": "Barrel",
"acceptedThings": ["barrel", "silencer", "flare"],
"default": -1
},
{
"name": "Scope",
"acceptedThings": ["scope", "nothing", "random stuff"],
"default": -1
}
]
}]
For some strange reason it initializes all other variables just fine but the lenght of Attachments stays 0. Any ideas?