private static List <MasterLoadPrefab.Data> ReadExcel(Type _type) { string loadPath = SystemSetting.GetExcelSeetPath() + _type.Name + "Sheet.xls"; List <MasterLoadPrefab.Data> dataList = new List <MasterLoadPrefab.Data> (); using (FileStream stream = File.Open(loadPath, FileMode.Open, FileAccess.Read)) { IWorkbook book = new HSSFWorkbook(stream); ISheet sheet = book.GetSheet("MainSeet"); for (int i = 1; i < sheet.LastRowNum; i++) { IRow row = sheet.GetRow(i); int iColumn = 0; MasterLoadPrefab.Data tmpData = new MasterLoadPrefab.Data(); //DataSwitch : tmpData.filename = row.GetCell(iColumn++).StringCellValue; tmpData.version = (int)row.GetCell(iColumn++).NumericCellValue; tmpData.pre_load = (int)row.GetCell(iColumn++).NumericCellValue; tmpData.path = row.GetCell(iColumn++).StringCellValue; tmpData.del_flg = (int)row.GetCell(iColumn++).NumericCellValue; iColumn++; dataList.Add(tmpData); } } MasterLoadPrefabCSVLoader.UpdateCSVFile(dataList); return(dataList); }
public void Load(string _strAssetName) { _strAssetName = _strAssetName.ToLower(); //Debug.LogError (_strAssetName); MasterLoadPrefab.Data data = new MasterLoadPrefab.Data(); foreach (MasterPrefabCSV temp in DataManager.master_prefab_list) { if (_strAssetName.Equals(temp.filename.ToLower()) == true) { data.filename = temp.filename; data.pre_load = temp.pre_load; data.path = temp.path; break; } } EditPlayerSettingsData epsData = ConfigManager.instance.GetEditPlayerSettingsData(); //string resultUrl = epsData.m_strS3Url + Define.ASSET_BUNDLES_ROOT + data.path.ToLower() +"/"+ data.filename.ToLower() + ".unity3d"; string resultUrl = epsData.m_strS3Url + "/" + data.path + "/" + data.filename + ".unity3d"; Debug.Log(resultUrl); Load(data.filename.ToLower(), resultUrl, data.version, m_goParent); }
public bool LoadAssetBundleQueue(MasterLoadPrefab.Data _tData) { return(LoadAssetBundleQueue(_tData.filename)); }
public static void MakeCell(ISheet _sheet1, Type _dataType, int _iRow, List <MasterLoadPrefab.Data> listData) { //Type makeDataType = typeof(List<MasterLoadPrefab.Data>); IRow row; ICell cell; int cellIndex = 0; row = _sheet1.CreateRow(_iRow); memberList = memberNameList; string objName = "None :"; typeList = new List <string> (); int countNum = 0; int curDataRow = _iRow - 1; Type tmpType = typeof(MasterLoadPrefab.Data); MasterLoadPrefab.Data tmpData = listData[curDataRow]; foreach (string item in memberList) { cell = row.CreateCell(cellIndex++); FieldInfo memberFieldInfo = fieldInfoList [countNum]; if (memberFieldInfo.FieldType.ToString() == "System.Int32") { int setInt = (int)tmpType.InvokeMember(item, BindingFlags.GetField, null, tmpData, null); cell.SetCellValue(setInt); } else if (memberFieldInfo.FieldType.ToString() == "System.Single") { float setFloat = (float)tmpType.InvokeMember(item, BindingFlags.GetField, null, tmpData, null); cell.SetCellValue(setFloat); } else if (memberFieldInfo.FieldType.ToString() == "System.String") { objName = (string)tmpType.InvokeMember(item, BindingFlags.GetField, null, tmpData, null); cell.SetCellValue(objName); } else if (memberFieldInfo.FieldType.ToString() == "System.Boolean") { bool setbool = (bool)tmpType.InvokeMember(item, BindingFlags.GetField, null, tmpData, null); string setString = ""; if (!setbool) { setString = "false"; } else { setString = "true"; } cell.SetCellValue(setString); } else { Debug.LogError("データ定義に異常があります!!!!!!! :" + memberFieldInfo.FieldType.ToString()); //異常なデータは出力してはいけないので強制停止 break; } cell.CellStyle = blackBorder; countNum++; } }
public static List <MasterLoadPrefab.Data> GetListDataFromCSV(Type _dataType) { string filePath = SystemSetting.GetResourcesCSVFilePath() + StringExtensions.UpperCamelToSnake(_dataType.Name) + ""; TextAsset csv = (TextAsset)Resources.Load(filePath, typeof(TextAsset)) as TextAsset; FieldInfo[] fieldInfoList = CSMaker.GetFieldInfo(typeof(MakeDataNamespace.MasterLoadPrefab)); List <string> memberNameList = CSMaker.GetMemberList(typeof(MakeDataNamespace.MasterLoadPrefab)); List <MasterLoadPrefab.Data> listData = new List <MasterLoadPrefab.Data>(); StringReader reader = new StringReader(csv.text); Type curType = typeof(MasterLoadPrefab.Data); int rowNum = -1; while (reader.Peek() > -1) { MasterLoadPrefab.Data lineData = new MasterLoadPrefab.Data(); int columnCount = 0; string line = reader.ReadLine(); string[] values = line.Split(','); rowNum++; //0行はタイトルなので飛ばす if (rowNum == 0) { continue; } foreach (string item in values) { string columnType = memberNameList[columnCount]; FieldInfo memberFieldInfo = fieldInfoList[columnCount]; if (memberFieldInfo.FieldType.ToString() == "System.Int32") { string convertStr = ConvertString(item); int setNumber = int.Parse(convertStr); curType.InvokeMember(columnType, BindingFlags.SetField, null, lineData, new object[] { setNumber }); } else if (memberFieldInfo.FieldType.ToString() == "System.Single") { string convertStr = ConvertString(item); float setNumber = float.Parse(convertStr); curType.InvokeMember(columnType, BindingFlags.SetField, null, lineData, new object[] { setNumber }); } else if (memberFieldInfo.FieldType.ToString() == "System.String") { string convertStr = ConvertString(item); string setString = convertStr.Substring(1, convertStr.Length - 2); // エスケープされたダブルクオーテーションがない場合はそのままの文字列を利用する if (convertStr.Contains("\"") == false) { setString = convertStr; } setString = setString.Replace("\\n", "\n"); curType.InvokeMember(columnType, BindingFlags.SetField, null, lineData, new object[] { setString }); } else if (memberFieldInfo.FieldType.ToString() == "System.Boolean") { if (item == "1") { curType.InvokeMember(columnType, BindingFlags.SetField, null, lineData, new object[] { true }); } else { curType.InvokeMember(columnType, BindingFlags.SetField, null, lineData, new object[] { false }); } } else { Debug.LogError("データ定義に異常があります!!!!!!!" + memberFieldInfo.FieldType); //異常なデータは出力してはいけないので強制停止 break; } columnCount++; } listData.Add(lineData); } return(listData); }