public static void CreateAsset(DataTable data) { if (data == null || data.Rows.Count < 4 || data.Columns.Count <= 0 || string.IsNullOrEmpty(data.TableName)) { return; } string fileName = saveAssetPath + data.TableName + "Serialize.asset"; List <List <SaveAssetInfo> > mData = new List <List <SaveAssetInfo> >(); Assembly assem = Assembly.Load("Assembly-CSharp"); DataRow nameRow = data.Rows[0]; DataRow typeRow = data.Rows[1]; Type t = assem.GetType(data.TableName); FieldInfo[] infos = t.GetFields(); Debug.LogError(data.TableName + "---" + data.Rows.Count + "----" + data.Columns.Count); //return; /*Debug.LogError(infos.Length);*/ for (int i = 3; i < data.Rows.Count; i++) { List <SaveAssetInfo> list = new List <SaveAssetInfo>(); var row = data.Rows[i]; foreach (DataColumn column in data.Columns) { object value = row[column]; string name = nameRow[column].ToString(); string type = typeRow[column].ToString(); value = GetType(type, value); SaveAssetInfo info = new SaveAssetInfo(); for (int j = 0; j < infos.Length; j++) { //Debug.LogError(infos[i]); if (infos[j].Name == name) { info.info = infos[j]; } } info.obj = value; list.Add(info); } mData.Add(list); } SaveToAsset(assem, t, mData, fileName); }
public async Task <int> SaveAssetSettings([FromBody] SaveAssetInfo asset) { AssestController controller = new AssestController(); return(await controller.SaveAssetSettings(asset)); }