Unity载入外部数据的方法

Step1:新建一个储存数据的文件

用txt格式保存,注意保存为UTF-8格式,不然Unity会识别不了
每一行为一个内容的数据,数据的字段以分割符分割开来。
在这里插入图片描述

Step2:关联数据文件

先创建一个用来管理数据的脚本,然后在Unity中创建一个空的GameObject,然后将该脚本挂在这个GameObject上面
在脚本中申明一个public变量

	public TextAsset ItemManager; //TextAsset是一个txt文件资源的类

然后将数据文件关联进去
Unity载入外部数据的方法_第1张图片

Step3:将数据载入游戏

private Dictionary<int,Item> itemDict = new Dictionary<int,Item>();  //申明一个字典用于存储数据

private void Awake()  //入口
    {
        _instance = this;
        readItemInfoList();
    }

private void readItemInfoList()
{
	string text = itemInfoList.text; //读取数据文件中的所有内容
	string[] strArray = text.split('/n')  //以换行符为标记,将每一行分割开来,储存到数组中
	foreach ( string str in strArray)  //对每一行的内容进行遍历
	{
		Item item = new Item();   //创建数据生成的对象
		string[] proArray = str.split(',');  //以分割符将每一行的内容按字段分割,并储存
		
		//将所有的字段都赋好值
		int id = int.Parse(proArray[0]);  //如果是数字,则要进行格式转换
		string name = proArray[1];
		...  
		
		//进行对象的赋值逻辑
		item.id = id;
		item.name = name;
		... 
		
		//将对象以id为key,存入字典中
		itemDirt.Add(id,item);
	}

Step4:读取数据

创建一个读取数据的方法

public Item getItemById(int id)
    {
        Item item;
        itemDict.TryGetValue(id, out item);
        return item;
    }

你可能感兴趣的:(Unity载入外部数据的方法)