每日一句:南来北往,不辜负生活,不迷失方向
[{
"ID": 0,
"Name": "SmallPeople",
"InitHealth": 100,
"CostGold": 0,
"MoveSpeed": 1.75,
"InitWeapon": "#0#",
"BaseATK": 0
},
{
"ID": 1,
"Name": "Test",
"InitHealth": 999,
"CostGold": 0,
"MoveSpeed": 2,
"InitWeapon": "#1#2#3",
"BaseATK": 999
}]
public class CharacterBaseData
{
public int ID;
public string Name;
public int InitHealth;
public int CostGold;
public float moveSpeed;
public int baseATk;
public List<int> InitWeapons;
public CharacterBaseData(int iD, string name, int initHealth, int costGold, float moveSpeed, int atk, List<int> initWeapons)
{
ID = iD;
Name = name;
InitHealth = initHealth;
CostGold = costGold;
this.moveSpeed = moveSpeed;
baseATk = atk;
InitWeapons = initWeapons;
}
}using LitJson;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Test : MonoBehaviour
{
public Dictionary<int, CharacterBaseData>
CharacterDic = new Dictionary<int, CharacterBaseData>();
private void Start()
{
ReadCharacterBaseDataFromConfig();
}
private void ReadCharacterBaseDataFromConfig()
{
CharacterDic.Clear();//读取资源
TextAsset asset = Resources.Load<TextAsset>(Config.CharacterBaseDataPath);
if (asset != null)
{
//获取字符串信息
string temp = asset.ToString();
// Debug.Log(temp);
JsonData data = JsonMapper.ToObject(temp);
//Debug.Log(data.Count);
for (int i = 0; i < data.Count; i++)
{
Debug.Log("data.Count"+data.Count);
int id = int.Parse(data[i]["ID"].ToString());
string name = data[i]["Name"].ToString();
int initHealth = int.Parse(data[i]["InitHealth"].ToString());
int costGold = int.Parse(data[i]["CostGold"].ToString());
float moveSpeed = float.Parse(data[i]["MoveSpeed"].ToString());
int atk = int.Parse(data[i]["BaseATK"].ToString());
Debug.Log("id" + id + ": " + "name" + name + ": " + "initHealth" + initHealth +
": " + "costGold" + costGold + ": " + "moveSpeed" + moveSpeed + ": " + "atk" + atk);
//列表切分
string tempStr = data[i]["InitWeapon"].ToString();List<int> list = new List<int>();
//字符串切分
string[] numbersArray = tempStr.Split('#');
//对每个字符尝试转换
foreach (var number in numbersArray)
{
int parseNumber;
if (int.TryParse(number, out parseNumber)) //int.TryParse(string s, out int i) 的参数: s是要转换的字符串,i 是转换的结果
{
Debug.Log("parseNumber" + parseNumber);
list.Add(parseNumber);
}}
CharacterBaseData characterBaseData = new CharacterBaseData(id, name, initHealth, costGold, moveSpeed, atk, list);
Debug.Log("characterBaseData:"+characterBaseData.Name);
CharacterDic.Add(id, characterBaseData);
}}
}
}