Exemple #1
0
        /// <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);
        }
Exemple #2
0
        /// <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);
        }