ScriptableObject给客户端用是很好用的,但是,如果给服务器端用,却很麻烦,所以我写了一个自动导出工具,可以以很小的代价,将ScriptableObject的部分字段自动导出到csv文件中,供服务器使用,这样也避免了数据冗余,同时避免策划在填写重复数据的时候出错。
这里说一下思想:
1-利用Attribute表明需要导出的字段和文件名
2-利用C#的反射机制,遍历选择的所有文件,找到需要导出的List,并且解析需要导出的泛型类,根据Attribute将其导出。
特性定义
[System.AttributeUsage(System.AttributeTargets.Field, AllowMultiple = false)]
public class ExportToCSV : System.Attribute
{
public string property_name;
public ExportToCSV(string p_name)
{
property_name = p_name;
}
}
[System.AttributeUsage(System.AttributeTargets.Field, AllowMultiple = false)]
public class ExportList : System.Attribute
{
public string file_name;
public ExportList(string f_name)
{
file_name = f_name;
}
}
<