Problem with Json and Android !
This code works well in unity editor but doesn't work on android device. Some suggestion?
public class ItemDatabase : MonoBehaviour {
private List<Item> database = new List<Item>();
private JsonData itemData;
void Start()
{
itemData = JsonMapper.ToObject(File.ReadAllText(Application.dataPath + "/StreamingAssets/Items.json"));
ConstructItemDatabase();
}
public Item FetchItemByID(int id)
{
for(int i = 0; i <database.Count; i++)
if(database[i].ID == id)
return database[i];
return null;
}
void ConstructItemDatabase()
{
for (int i = 0; i < itemData.Count; i++)
{
database.Add(new Item((int)itemData[i]["id"], itemData[i]["title"].ToString(), (int)itemData[i]["value"],
(int)itemData[i]["stats"]["style"], (int)itemData[i]["stats"]["defence"], (int)itemData[i]["stats"]["vitality"], itemData[i]["description"].ToString(),
(bool)itemData[i]["stackable"], (int)itemData[i]["rarity"], itemData[i]["slug"].ToString()));
}
}
}
public class Item { public int ID { get; set;} public string Title { get; set;} public int Value { get; set;} public int Style { get; set; } public int Defence { get; set; } public int Vitality { get; set; } public string Description { get; set; } public bool Stackable { get; set; } public int Rarity { get; set; } public string Slug { get; set; } public Sprite Sprite { get; set; }
public Item(int id, string title, int value, int style, int defence,int vitality,string description,bool stackable, int rarity, string slug)
{
this.ID = id;
this.Title = title;
this.Value = value;
this.Style = style;
this.Vitality = vitality;
this.Description = description;
this.Defence = defence;
this.Stackable = stackable;
this.Rarity = rarity;
this.Slug = slug;
this.Sprite = Resources.Load<Sprite>("Sprites/items/" + slug);
}
public Item()
{
this.ID = -1;
}
}
Your answer
Follow this Question
Related Questions
Read and Write Textfile on mobile (C# Unity ) 0 Answers
Json doesnt work in android (unity) 0 Answers
Help Writing and reading files on android. 1 Answer
I have some problem with mobile input (keyboard) 0 Answers
Screenshot on Android 2 Answers