Esempio n. 1
0
    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);
    }
Esempio n. 2
0
        public async Task <int> SaveAssetSettings([FromBody] SaveAssetInfo asset)
        {
            AssestController controller = new AssestController();

            return(await controller.SaveAssetSettings(asset));
        }