using System; using System.IO; using ET; using UnityEditor; namespace ETEditor { public static class BuildHelper { private const string relativeDirPrefix = "../Release"; public static string BuildFolder = "../Release/{0}/StreamingAssets/"; [MenuItem("Tools/web资源服务器")] public static void OpenFileServer() { ProcessHelper.Run("dotnet", "FileServer.dll", "../FileServer/"); Console.ReadKey(); } //public static void Build(PlatformType type, BuildAssetBundleOptions buildAssetBundleOptions, BuildOptions buildOptions, bool isBuildExe, bool isContainAB) //{ // BuildTarget buildTarget = BuildTarget.StandaloneWindows; // string exeName = "ET"; // switch (type) // { // case PlatformType.PC: // buildTarget = BuildTarget.StandaloneWindows64; // exeName += ".exe"; // break; // case PlatformType.Android: // buildTarget = BuildTarget.Android; // exeName += ".apk"; // break; // case PlatformType.IOS: // buildTarget = BuildTarget.iOS; // break; // case PlatformType.MacOS: // buildTarget = BuildTarget.StandaloneOSX; // break; // } // string fold = string.Format(BuildFolder, type); // if (!Directory.Exists(fold)) // { // Directory.CreateDirectory(fold); // } // Log.Info("开始资源打包"); // BuildPipeline.BuildAssetBundles(fold, buildAssetBundleOptions, buildTarget); // GenerateVersionInfo(fold); // Log.Info("完成资源打包"); // if (isContainAB) // { // FileHelper.CleanDirectory("Assets/StreamingAssets/"); // FileHelper.CopyDirectory(fold, "Assets/StreamingAssets/"); // } // if (isBuildExe) // { // AssetDatabase.Refresh(); // string[] levels = { // "Assets/Scenes/Init.unity", // }; // Log.Info("开始EXE打包"); // BuildPipeline.BuildPlayer(levels, $"{relativeDirPrefix}/{exeName}", buildTarget, buildOptions); // Log.Info("完成exe打包"); // } //} //private static void GenerateVersionInfo(string dir) //{ // VersionConfig versionProto = new VersionConfig(); // GenerateVersionProto(dir, versionProto, ""); // using (FileStream fileStream = new FileStream($"{dir}/Version.txt", FileMode.Create)) // { // byte[] bytes = MongoHelper.ToJson(versionProto).ToByteArray(); // fileStream.Write(bytes, 0, bytes.Length); // } //} //private static void GenerateVersionProto(string dir, VersionConfig versionProto, string relativePath) //{ // foreach (string file in Directory.GetFiles(dir)) // { // string md5 = MD5Helper.FileMD5(file); // FileInfo fi = new FileInfo(file); // long size = fi.Length; // string filePath = relativePath == "" ? fi.Name : $"{relativePath}/{fi.Name}"; // versionProto.FileInfoDict.Add(filePath, new FileVersionInfo // { // File = filePath, // MD5 = md5, // Size = size, // }); // } // foreach (string directory in Directory.GetDirectories(dir)) // { // DirectoryInfo dinfo = new DirectoryInfo(directory); // string rel = relativePath == "" ? dinfo.Name : $"{relativePath}/{dinfo.Name}"; // GenerateVersionProto($"{dir}/{dinfo.Name}", versionProto, rel); // } //} } }