Esempio n. 1
0
        private void CheckData(int index, TableToolDatas.TableToolsData tableData)
        {
            string path = tableData.ClassPath;

            tableData.Cs    = AssetDatabase.LoadAssetAtPath <TextAsset>(path);
            tableData.Table = AssetDatabase.LoadAssetAtPath <TextAsset>(tableData.TablePath);

            if (tableData.Cs == null)
            {
                Debug.Log(string.Format("INDEX[{0}] 表[{1}] 的cs文件不存在", index, tableData.ClassName));
                return;
            }

            if (tableData.Table == null)
            {
                Debug.Log(string.Format("INDEX[{0}] 表[{1}] 的数值文件不存在,或不在Resources目录下", index, tableData.ClassName));
                return;
            }

            var _lines = tableData.Table.text.SplitLine();

            string[] locate    = _lines[TableTool.PARAM_LOCATE].SplitStringByTab();
            var      _needRead = new List <int>();

            for (int i = 0; i < locate.Length; i++)
            {
                if (locate[i].ToLower().Contains(TableTool.CLIENT_MARK))
                {
                    _needRead.Add(i);
                }
            }

            if (tableData.ConstructorTypes == null || tableData.ConstructorTypes.Count != _needRead.Count)
            {
                Debug.Log(string.Format("INDEX[{0}] 表[{1}] 的表结构有所更改,需要重新生成", index, tableData.ClassName));
            }


            for (int i = TableTool.PARAM_COUNT; i < _lines.Length; i++)
            {
                var paramList = new object[_needRead.Count];

                string[] words = _lines[i].SplitStringByTab();
                for (int j = 0; j < _needRead.Count; j++)
                {
                    try
                    {
                        paramList[j] = TableTool.ParseExcelType(words[_needRead[j]], tableData.ConstructorTypes[j]);
                    }
                    catch
                    {
                        Debug.Log(string.Format("INDEX[{0}] 表[{1}] 行[{2}]列[{3}] 的数据有问题", index, tableData.ClassName, i, j));
                    }
                }
            }
        }