Пример #1
0
 /// <summary>
 /// 初始读取配置
 /// </summary>
 /// <param name="root">所有CSV表格根目录</param>
 /// <param name="path">配置表格名称</param>
 /// <param name="callback">设置后回调函数</param>
 public static void Ini(string root, string path, CallBack callback = null)
 {
     if (_ini == false)
     {
         _ini     = true;
         onFinish = callback;
         pathCsv  = root + path;
         pathRoot = root;
         //加载配置表格数据
         LoadManager.Load(pathCsv, LoadCsvConfig);
     }
 }
Пример #2
0
 /// <summary>
 /// 读取所有表格
 /// 根据表的配置信息读取相应的表格
 /// _reader保存所有表读取出来的CsvReader信息
 /// </summary>
 private static void LoadCsvs()
 {
     //便利所有表地址
     foreach (string k in _csvFileUrls.Keys)
     {
         CsvReader reader = new CsvReader();
         //地址
         string txt = LoadManager.GetString(_csvFileUrls[k]);
         //解析
         txt = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(txt));
         //二次解析
         reader.Read(txt);
         //保持引用
         _reader.Add(k, reader);
     }
     //完成CallBack
     if (onFinish != null)
     {
         onFinish();
     }
 }
Пример #3
0
        /// <summary>
        /// 先把配置的表格数据读取
        /// 拿到读取的所有表名给_csvFileUrls赋值
        /// LoadManager.Load(list.ToArray(), LoadCsvs)读取全部表格
        /// </summary>
        public static void LoadCsvConfig()
        {
            //获取加载的配置表格的数据
            string text = LoadManager.GetString(pathCsv);

            text = text.Replace("\r", "");
            //此时数据格式
            //arr[i]配置表格的一行数据
            string[] arr = text.Split('\n');
            //解析数据
            List <string> list = new List <string>();

            //去掉读取到的表头
            for (int i = 1; i < arr.Length; i++)
            {
                if (!string.IsNullOrEmpty(arr[i]))
                {
                    //此时数据格式
                    //temp[i]配置表格的某一行每个单元格数据
                    string[] temp = arr[i].Split(',');
                    if (temp != null && temp.Length >= 1 && !string.IsNullOrEmpty(temp[1]))
                    {
                        //路径 + 表名
                        string url = pathRoot + temp[1];
                        if (_csvFileUrls.ContainsKey(temp[1]))
                        {
                            Debug.Log(arr[i]);
                            Debug.Log(temp[1]);
                        }
                        //去掉读取到的ID值
                        //所有表路径赋值
                        _csvFileUrls.Add(temp[1], url);
                        //准备其他表的读取
                        list.Add(url);
                    }
                }
            }
            //加载非配置表格数据
            LoadManager.Load(list.ToArray(), LoadCsvs);
        }