Unity3D——LitJson解析json,讀取關卡信息

json文件:LevelInfo.txt

{
  "levelList": [
    {
      "Number": 1,
      "IsLock": 0,
      "Star": 0,
      "Timer": 30,
      "TargetScore": 4
    }, {
      "Number": 2,
      "IsLock": 1,
      "Star": 0,
      "Timer": 29,
      "TargetScore": 4
    }, {
      "Number": 3,
      "IsLock": 1,
      "Star": 0,
      "Timer": 28,
      "TargetScore": 6
    }, {
      "Number": 4,
      "IsLock": 1,
      "Star": 0,
      "Timer": 27,
      "TargetScore": 6
    }, {
      "Number": 5,
      "IsLock": 1,
      "Star": 0,
      "Timer": 26,
      "TargetScore": 8
    }, {
      "Number": 6,
      "IsLock": 1,
      "Star": 0,
      "Timer": 25,
      "TargetScore": 8
    }, {
      "Number": 7,
      "IsLock": 1,
      "Star": 0,
      "Timer": 24,
      "TargetScore": 9
    }, {
      "Number": 8,
      "IsLock": 1,
      "Star": 0,
      "Timer": 23,
      "TargetScore": 10
    }
  ]
}

Unity 中C#腳本:LevelJsonPrase.cs

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using LitJson;

public class LevelJsonPrase : MonoBehaviour {

    #region class
    [System.Serializable]
    class Level {
        public int Number = 0;
        public int IsLock = 0;
        public int Star = 0;
        public int TargetScore = 0;
        public float Timer = 0f;
    }
    [System.Serializable]
    class LevelList {
        public List<Level> levelList = new List<Level>();
    }
    #endregion

    #region variables
    [SerializeField]
    private TextAsset textJson;
    [SerializeField]
    private LevelList listInfo = null;
    #endregion

    // Use this for initialization
    void Start () {
        textJson = Resources.Load("LevelInfo") as TextAsset;
        listInfo = JsonMapper.ToObject<LevelList>(textJson.text);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章