项目记录04--客户端unity,服务端erlang--打包数据csv
来源:互联网 发布:mac桌面提醒便签 编辑:程序博客网 时间:2024/06/06 18:56
开始前必须做好准备,就是决定数据究竟用什么类型好。xml,json,csv,tex.....最终决定使用csv,阅读性肯定没有其它好,好处就是比较小,打出包比较小。
先写个打包工具:
核心代码:
[MenuItem("GameTool/BuildAssets/Build_CSV")]
public static void BuildCSV()
{
//Path 先读取-->序列号ScriptableObject 将些不能打包的比如string等转化 -->生成asset AssetDataBase -->打包AssetBundle
string csvReadPath = applicationPath + "/DataTable/CSV/"; //读取的CSV目录
string assetPathTemp = "Assets/Local/temp/"; //临时生成的createAsset二进制文件目录
string saveAssetBundleName = "csv.assetbundle"; //生成AssetBundle名称
string savePath = saveDir + saveAssetBundleName; //生成保存的目录
#region 固定目录打包
//拿到文件
List<Object> outs = new List<Object>();
string[] allFilesPath = Directory.GetFiles(csvReadPath);
for (int i = 0, max = allFilesPath.Length; i < max; i++ )
{
string filesPath = allFilesPath[i];
//过滤文件.csv
if (filesPath.Substring(filesPath.LastIndexOf(".") + 1) != "csv")
continue;
string fileName = filesPath.Substring(filesPath.LastIndexOf("/") + 1).Split('.')[0];
//序列化
soCSV csv = ScriptableObject.CreateInstance<soCSV>();
csv.fileName = fileName;
csv.content = File.ReadAllBytes(filesPath);
//生成AssetDatabase临时中间文件二进制
string TempPath = assetPathTemp + fileName + ".asset";
AssetDatabase.CreateAsset(csv, TempPath);
//取出来丢进outs里面等待打包
Object outTemp = AssetDatabase.LoadAssetAtPath(TempPath,typeof(soCSV));
outs.Add(outTemp);
}
#endregion
if (BuildPipeline.BuildAssetBundle(null, outs.ToArray(), savePath, BuildAssetBundleOptions.IgnoreTypeTreeChanges, PlatformUtil.Build_Target))
EditorUtility.DisplayDialog("ok", "build " + savePath + " success,length = " + outs.ToString().Length, " ok");
else
Debug.LogWarning("build" + savePath + " failed");
AssetDatabase.Refresh ();
}
- 项目记录04--客户端unity,服务端erlang--打包数据csv
- 项目记录05--客unity,服erlang--另外一种AssetBundle打包方式
- 项目记录01--客unity,服erlang--框架net
- 项目记录02--客unity,服erlang--框架net
- 项目记录03--客unity,服erlang--框架net
- 项目记录05--客unity,服erlang--数据管理与工具
- 项目记录07--客unity,服erlang--AStarPathing 寻路
- unity 客户端 服务端 连接
- Unity项目中使用text记录数据
- Unity客户端连接java服务端并通过json的形式接收数据-客户端
- (2)小项目----建立erlang服务端
- unity 打包apk 崩溃记录
- unity 打包ios 问题记录
- unity项目知识点记录
- [Unity][JSON][csv][JSONUnity]csv-JSON复杂数据的管理
- unity Android csv 数据持久化
- 医调项目之C# 服务端与客户端JS通讯数据加密
- Unity之Assetbundle打包记录一
- 模板方法
- Java环境变量的配置
- CP15 协处理器 以及MCR MRC指令介绍
- zebra之间的通讯
- 待学习项
- 项目记录04--客户端unity,服务端erlang--打包数据csv
- 不符合该安装程序的以下最小系统需求
- QT数据库实例操作(二)
- Android应用启动优化:一种DelayLoad的实现和原理(转)
- 几个 Swift 代码规范 #swiftlang
- php对象和命名空间
- 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法
- Android 各种生命周期
- Ⅰ.9 如何创建查询用户输入的半自动化测试