/// <summary> /// 获取CSV的序列化数据 /// </summary> /// <param name="textAsset">text数据</param> /// <returns></returns> private static string GetCsvSerialize(TextAsset textAsset) { string[] csvParameter = CSVConverter.SerializeCSVParameter(textAsset); int keyCount = csvParameter.Length; string csvSerialize = string.Empty; for (int cnt = 0; cnt < keyCount; cnt++) { string[] attributes = csvParameter[cnt].Split(new char[] { '/' }, System.StringSplitOptions.RemoveEmptyEntries); if (attributes[0] == "string") { csvSerialize += string.Format("m_tempData.{0} = m_datas[cnt][{1}];", attributes[1], cnt); } else if (attributes[0] == "bool") { csvSerialize += GetCsvSerialize(attributes, cnt, "0"); } else if (attributes[0] == "int") { csvSerialize += GetCsvSerialize(attributes, cnt, "0"); } else if (attributes[0] == "float") { csvSerialize += GetCsvSerialize(attributes, cnt, "0.0f"); } else if (attributes[0] == "string[]") { csvSerialize += string.Format("m_tempData.{0} = CSVConverter.ConvertToArray<string>(m_datas[cnt][{1}]);", attributes[1], cnt); } else if (attributes[0] == "bool[]") { csvSerialize += string.Format("m_tempData.{0} = CSVConverter.ConvertToArray<bool>(m_datas[cnt][{1}]);", attributes[1], cnt); } else if (attributes[0] == "int[]") { csvSerialize += string.Format("m_tempData.{0} = CSVConverter.ConvertToArray<int>(m_datas[cnt][{1}]);", attributes[1], cnt); } else if (attributes[0] == "float[]") { csvSerialize += string.Format("m_tempData.{0} = CSVConverter.ConvertToArray<float>(m_datas[cnt][{1}]);", attributes[1], cnt); } if (cnt != keyCount - 1) { csvSerialize += "\n"; csvSerialize += "\t\t"; } } return(csvSerialize); }
/// <summary> /// 获取自动生成类的参数 /// </summary> /// <param name="textAsset">text数据</param> /// <returns></returns> private static string GetClassParameters(TextAsset textAsset) { string[] csvParameter = CSVConverter.SerializeCSVParameter(textAsset); int keyCount = csvParameter.Length; string classParameters = string.Empty; for (int cnt = 0; cnt < keyCount; cnt++) { string[] attributes = csvParameter[cnt].Split(new char[] { '/' }, System.StringSplitOptions.RemoveEmptyEntries); classParameters += string.Format("public {0} {1};", attributes[0], attributes[1]); if (cnt != keyCount - 1) { classParameters += "\n"; classParameters += "\t\t"; } } return(classParameters); }