zip压缩加载测试
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -87,5 +87,8 @@ namespace Stary.Evo
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user