#region Copyright RenGuiYou. All rights reserved. //===================================================== // NeatlyFrameWork // Author: RenGuiyou // Feedback: mailto:750539605@qq.com //===================================================== #endregion using System.IO; using Pandora; using PandoraEditor; using UnityEditor; using UnityEngine; namespace NeatlyEditor { public class LuaBuilder { public static void BuildSource() { PdrFileUtil.DeleteDirectory(EditorDef.PATH_TEMP_LUA); CreateLuaSource(EditorDef.PATH_TOLUA); CreateLuaSource(EditorDef.PATH_LUA); } private static void CreateLuaSource(string pathSrc) { pathSrc = pathSrc.Replace('\\', '/') + "/"; var list = PdrFileUtil.GetFilesName(pathSrc, ".lua"); for (int i = 0; i < list.Count; i++) { var result = list[i].Replace('\\', '/').Replace(pathSrc,"").Replace(".lua", "").Replace("/", "_"); Debug.Log(Path.Combine(EditorDef.PATH_TEMP_LUA, result)); PdrFileUtil.CopyFile(list[i], Path.Combine(EditorDef.PATH_TEMP_LUA+"/lua32", result).ToLower()); PdrFileUtil.CopyFile(list[i], Path.Combine(EditorDef.PATH_TEMP_LUA+"/lua64", result).ToLower()); } } public static void Build() { PdrFileUtil.DeleteDirectory(EditorDef.PATH_TEMP_LUA); string srcPaths = string.Format("{0},{1}", EditorDef.PATH_LUA, EditorDef.PATH_TOLUA); BuildLua(srcPaths, EditorDef.PATH_TEMP_LUA); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); } private static void BuildLua(string pathSrc, string pathDst) { AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); var builder = PdrCombine.ProjectRoot(UserSetting.CompileSetting.lua_builder); string args = $"{builder} {pathSrc} {pathDst}"; PdrCMDHelper.ProcessPython(args); } } }