112 lines
4.0 KiB
C#
112 lines
4.0 KiB
C#
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);
|
|
// }
|
|
//}
|
|
}
|
|
}
|