zip压缩加载测试

This commit is contained in:
2025-05-23 18:26:47 +08:00
parent ada423ac91
commit cbd48e8411
147 changed files with 7855 additions and 6 deletions

View File

@@ -9,6 +9,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.IO.Compression;
using System.Linq;
using EditorFramework;
using HybridCLR.Editor;
@@ -28,7 +29,6 @@ namespace Stary.Evo.Editor
{
private static BuildAssetWindow window;
[MenuItem("Evo/资源打包工具")]
static void ShowWindows()
@@ -169,6 +169,7 @@ namespace Stary.Evo.Editor
#endregion
#region Update
[Title("BuildAssetButton", titleAlignment: TitleAlignments.Centered)] [HideLabel]
public BuildAssetEntity onBuildPipelineEntity;
@@ -184,7 +185,7 @@ namespace Stary.Evo.Editor
private bool _isCheckDriveExist;
[TitleGroup("UpdateAssetButton", alignment: TitleAlignments.Centered)]
[HideLabel]
[ShowIf(
@@ -209,9 +210,35 @@ namespace Stary.Evo.Editor
{
if (EditorUtility.DisplayDialog("提示", $"开始上传至服务器[{selectedPackageNames}]", "Yes", "No"))
{
Stary.Evo.Editor.FileUtility.CopyDirectory(
$"{AssetBundleBuilderHelper.GetDefaultBuildOutputRoot()}/{EditorUserBuildSettings.activeBuildTarget}/{BuildAssetDataSetting.packageName}/{BuildAssetDataSetting.packageVersion}",
updateServerPath);
// 新增打包为zip的逻辑
string zipFileName =
$"{BuildAssetDataSetting.packageName}_{BuildAssetDataSetting.packageVersion}.zip";
var outputPackageDirectory =
$"{AssetBundleBuilderHelper.GetDefaultBuildOutputRoot()}/{EditorUserBuildSettings.activeBuildTarget}/{BuildAssetDataSetting.packageName}";
//拷贝目录
string outFilePath = $"{outputPackageDirectory}/{BuildAssetDataSetting.packageVersion}";
//输出目录
string zipFilePath = Path.Combine(outputPackageDirectory, zipFileName);
try
{
// 压缩输出目录到zip文件会覆盖已存在的同名文件
ZipFile.CreateFromDirectory(
outFilePath,
zipFilePath,
System.IO.Compression.CompressionLevel.Optimal,
false
);
Debug.Log($"成功打包为zip{zipFilePath}");
}
catch (Exception ex)
{
Debug.LogError($"打包zip失败{ex.Message}");
return;
}
Stary.Evo.Editor.FileUtility.Copy(
zipFilePath, $"{updateServerPath}/{zipFileName}", true);
CreatePackageVersionJson();
@@ -248,7 +275,7 @@ namespace Stary.Evo.Editor
base.DrawEditor(index);
}
GUILayout.EndScrollView();
BuildServerPath();
UpdateBuildPipelineButtonName();
}
@@ -258,6 +285,7 @@ namespace Stary.Evo.Editor
onBuildPipelineEntity.SetButtonName($"打包资源包【版本:{BuildAssetDataSetting.packageVersion}】");
onUpdateBuildPipelineEntity.SetButtonName($"更新至服务器【版本:{BuildAssetDataSetting.packageVersion}】");
}
/// <summary>
/// 生成服务器路径
/// </summary>

View File

@@ -43,6 +43,7 @@ namespace Stary.Evo.Editor
buildParameters.BuiltinShadersBundleName = builtinShaderBundleName;
buildParameters.EncryptionServices = CreateEncryptionInstance();
ScriptableBuildPipeline pipeline = new ScriptableBuildPipeline();
var buildResult = pipeline.Run(buildParameters, true);
if (buildResult.Success)
@@ -51,6 +52,7 @@ namespace Stary.Evo.Editor
// EditorUtility.RevealInFinder(buildResult.OutputPackageDirectory);
base.ExecuteBuild();
}
}
/// <summary>

View File

@@ -87,5 +87,8 @@ namespace Stary.Evo
}
}
}