From f541732952b31404c35981f5470ff39f1625e0b1 Mon Sep 17 00:00:00 2001
From: lwb <q3213421wrwqr>
Date: 星期一, 18 一月 2021 14:55:50 +0800
Subject: [PATCH] 8697 【主干】分包下载提取原写死的打包逻辑
---
Assets/Editor/Tool/ClientPackage.cs | 92 ++++++++++++++++++++++++++++++----------------
1 files changed, 60 insertions(+), 32 deletions(-)
diff --git a/Assets/Editor/Tool/ClientPackage.cs b/Assets/Editor/Tool/ClientPackage.cs
index 274dc19..c68a499 100644
--- a/Assets/Editor/Tool/ClientPackage.cs
+++ b/Assets/Editor/Tool/ClientPackage.cs
@@ -27,6 +27,17 @@
get { return LocalSave.GetBool("obfuscatorEnabled", false); }
set { LocalSave.SetBool("obfuscatorEnabled", value); }
}
+ public static bool includeConfig
+ {
+ get { return LocalSave.GetBool("client_pg_includeConfig", false); }
+ set { LocalSave.SetBool("client_pg_includeConfig", value); }
+ }
+
+ public static bool includeUI
+ {
+ get { return LocalSave.GetBool("client_pg_includeUI", false); }
+ set { LocalSave.SetBool("client_pg_includeUI", value); }
+ }
public static int AssetPrior
{
@@ -188,12 +199,7 @@
foreach (var file in tempFiles)
{
var extersion = Path.GetExtension(file.FullName);
- var fileName = Path.GetFileName(file.FullName);
- if (!string.IsNullOrEmpty(extersion))
- {
- fileName = fileName.Replace(extersion, "");
- }
-
+ var fileName = Path.GetFileNameWithoutExtension(file.FullName);
var prior = PriorBundleConfig.GetAssetPrior(AssetVersion.AssetCategory.Mob, fileName);
if (prior > AssetPrior)
{
@@ -206,12 +212,7 @@
foreach (var file in tempFiles)
{
var extersion = Path.GetExtension(file.FullName);
- var fileName = Path.GetFileName(file.FullName);
- if (!string.IsNullOrEmpty(extersion))
- {
- fileName = fileName.Replace(extersion, "");
- }
-
+ var fileName = Path.GetFileNameWithoutExtension(file.FullName);
var prior = PriorBundleConfig.GetAssetPrior(AssetVersion.AssetCategory.Scene, fileName);
if (prior > AssetPrior)
{
@@ -224,12 +225,7 @@
foreach (var file in tempFiles)
{
var extersion = Path.GetExtension(file.FullName);
- var fileName = Path.GetFileName(file.FullName);
- if (!string.IsNullOrEmpty(extersion))
- {
- fileName = fileName.Replace(extersion, "");
- }
-
+ var fileName = Path.GetFileNameWithoutExtension(file.FullName);
var prior = PriorBundleConfig.GetAssetPrior(AssetVersion.AssetCategory.Audio, fileName);
if (prior > AssetPrior)
{
@@ -242,12 +238,7 @@
foreach (var file in tempFiles)
{
var extersion = Path.GetExtension(file.FullName);
- var fileName = Path.GetFileName(file.FullName);
- if (!string.IsNullOrEmpty(extersion))
- {
- fileName = fileName.Replace(extersion, "");
- }
-
+ var fileName = Path.GetFileNameWithoutExtension(file.FullName);
var prior = PriorBundleConfig.GetAssetPrior(AssetVersion.AssetCategory.Effect, fileName);
if (prior > AssetPrior)
{
@@ -255,12 +246,47 @@
}
}
+ //鍓旈櫎瑙嗛璧勬簮
+ tempFiles.Clear();
+ FileExtersion.GetAllDirectoryFileInfos(StringUtility.Contact(_assetBundlePath, "/video"), tempFiles);
+ foreach (var file in tempFiles)
+ {
+ var extersion = Path.GetExtension(file.FullName);
+ var fileName = Path.GetFileNameWithoutExtension(file.FullName);
+ var prior = PriorBundleConfig.GetAssetPrior(AssetVersion.AssetCategory.Video, fileName);
+ if (prior > AssetPrior)
+ {
+ excludeFileFullNames.Add(file.FullName);
+ }
+ }
+
+ //鍓旈櫎琛ㄨ祫婧�
+ if (!includeConfig)
+ {
+ tempFiles.Clear();
+ FileExtersion.GetAllDirectoryFileInfos(StringUtility.Contact(_assetBundlePath, "/config"), tempFiles);
+ foreach (var file in tempFiles)
+ {
+ excludeFileFullNames.Add(file.FullName);
+ }
+ }
+
+ //鍓旈櫎UI璧勬簮
tempFiles.Clear();
FileExtersion.GetAllDirectoryFileInfos(StringUtility.Contact(_assetBundlePath, "/ui/sprite"), tempFiles);
foreach (var file in tempFiles)
{
var fileName = Path.GetFileName(file.FullName);
if (fileName == "loadingbg")
+ {
+ excludeFileFullNames.Add(file.FullName);
+ }
+ }
+ if (!includeUI)
+ {
+ tempFiles.Clear();
+ FileExtersion.GetAllDirectoryFileInfos(StringUtility.Contact(_assetBundlePath, "/ui"), tempFiles);
+ foreach (var file in tempFiles)
{
excludeFileFullNames.Add(file.FullName);
}
@@ -281,17 +307,16 @@
{
var relativePath = FileExtersion.GetFileRelativePath(_assetBundlePath, item.FullName);
var to = StringUtility.Contact(ResourcesPath.Instance.StreamingAssetPath, relativePath);
+ if (relativePath.StartsWith("patch"))//涓嶅寘鍚玬eta鏂囦欢鍜岃ˉ涓�
+ continue;
+
var directory = Path.GetDirectoryName(to);
if (!Directory.Exists(directory))
- {
Directory.CreateDirectory(directory);
- }
var extension = Path.GetExtension(item.FullName);
if (extension == ".meta")
- {
continue;
- }
File.Copy(item.FullName, to, true);
completeCount++;
@@ -319,17 +344,16 @@
{
var relativePath = FileExtersion.GetFileRelativePath(_assetBundlePath, item.FullName);
var to = StringUtility.Contact(ResourcesPath.Instance.StreamingAssetPath, relativePath);
+ if (relativePath.StartsWith("patch"))//涓嶅寘鍚玬eta鏂囦欢鍜岃ˉ涓�
+ continue;
+
var directory = Path.GetDirectoryName(to);
if (!Directory.Exists(directory))
- {
Directory.CreateDirectory(directory);
- }
var extension = Path.GetExtension(item.FullName);
if (extension == ".meta")
- {
continue;
- }
File.Copy(item.FullName, to, true);
completeCount++;
@@ -452,6 +476,8 @@
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
+ IFix.Editor.IFixEditor.InjectAllAssemblys();//瀵筰njectAssemblys閲岀殑绋嬪簭闆嗚繘琛屾敞鍏ワ紝鐒跺悗澶囦唤
+
if (_development)
{
var apkName = StringUtility.Contact(_output, "/", versionName, "_", versionConfig.clientPackageFlag, "_v", versionConfig.m_Version, "_", _buildIndex, "_development.apk");
@@ -503,6 +529,8 @@
PlayerSettings.iOS.buildNumber = VersionConfig.Get().buildIndex.ToString();
PlayerSettings.iOS.appleDeveloperTeamID = VersionConfig.Get().appleDeveloperTeamID;
+ IFix.Editor.IFixEditor.InjectAllAssemblys();//瀵筰njectAssemblys閲岀殑绋嬪簭闆嗚繘琛屾敞鍏ワ紝鐒跺悗澶囦唤
+
if (_replace)
{
XCodeProjectMod.BuildIOSProject_Replace();
--
Gitblit v1.8.0