核心文件代码
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using MiniJSON;
using System.IO;
using LitJson;
public class HeroListClass
{
public string listname;
public List<Hero> heroslist;
}
public class Hero
{
public string name;
public int attack;
public int life;
}
public class ConfigLoader : MonoBehaviour
{
//不同平台下StreamingAssets的路径是不同的,这里需要注意一下。
public static readonly string PathURL = Application.dataPath + "/StreamingAssets/config.json";
// Use this for initialization
void Start()
{
ParseJson();
}
void ParseJson()
{
StreamReader sr = File.OpenText(PathURL);
string input = sr.ReadToEnd();
Dictionary<string, object> config = Json.Deserialize(input) as Dictionary<string, object>;
Debug.Log(config+ input);
HeroListClass heroListclass = new HeroListClass();
heroListclass.listname = config["name"].ToString();
List<object> hobjlist = config["Heros"] as List<object>;
heroListclass.heroslist = new List<global::Hero>();
Debug.Log(heroListclass.listname + hobjlist);
for(int i = 0; i < hobjlist.Count; i++)
{
Dictionary<string, object> heroDic = hobjlist[i] as Dictionary<string, object>;
Debug.Log(heroDic + "=== hero " + hobjlist[i]);
Hero newHero = new Hero();
newHero.name = heroDic["name"].ToString();
Debug.Log(newHero.name);
heroListclass.heroslist.Add(newHero);
}
}
}