算是一个比较通用的小功能吧,很多时候由于我们需要将运行时候的一些数据存储为别的文件格式,比如txt文本或者png图片等,就需要用到这个功能。
写法也比较简单,具体函数如下:
/// <summary>
/// 编辑器模式的文本存储
/// </summary>
/// <param name="_path">路径,类似于Assets/Resources</param>
/// <param name="_name">名字,需要带后缀</param>
/// <param name="_str">存储的文本</param>
void WindowsSave(string _path, string _name, string _str)
{
#if UNITY_EDITOR
System.IO.Directory.CreateDirectory(_path);
using (System.IO.StreamWriter writer = System.IO.File.CreateText(_path + "/" + _name))
writer.Write(_str);
UnityEditor.AssetDatabase.Refresh();
#endif
}
我们写个简单的测试用例,测试下这个功能
void Start()
{
var _str = "存储测试";
WindowsSave("Assets/Resources", "测试文本.txt", _str);
}
然后启动下unity,看看测试结果:
这个功能可以配合别的很多功能,做诸如格式转换、抓测试数据、编辑数据存储等功能,还是比较实用的。