示例#1
0
        private static void WriteSplitFile <T>(string folderPath, string mainFileName, string mainFileHeadText, string requirePath, string fileNameFormat) where T : ITable, ILuaFile <T>
        {
            T luaFile = default;
            ILuaSplitFile <T> luaSplitFile  = (ILuaSplitFile <T>)luaFile;
            List <T>          list          = luaFile.GetModel();
            string            fileExtension = luaSplitFile.GetFileExtension();

            m_mainFileTextBuilder.Clear();
            for (ushort index = 0; index < list.Count; index++)
            {
                T      childFileData = list[index];
                string fileName      = string.Format(fileNameFormat, childFileData.GetKey());
                string path          = requirePath + fileName;
                string requireText   = string.Format(LuaFormat.RequireFunction, path);
                m_mainFileTextBuilder.Append(requireText);
                string filePath = Tool.CombineFilePath(folderPath, fileName, fileExtension);
                Write(filePath, childFileData.GetWriteFileString());
            }
            string mainFilePath = Tool.CombineFilePath(folderPath, mainFileName, fileExtension);
            string mainFileText = m_mainFileTextBuilder.ToString();

            WriteWithHeadText(mainFilePath, mainFileHeadText, mainFileText);
        }