Skip to content

Commit 26ee24f

Browse files
committed
updated to v3.5.0 (massively optimize)
1 parent 9cd82f4 commit 26ee24f

143 files changed

Lines changed: 4314 additions & 1704 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Assets/OxGFrame/AssetLoader/Scripts/Runtime/AssetLoaders.cs

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -151,16 +151,16 @@ public static BundlePack LoadAdditiveScene(string packageName, string assetName,
151151
/// </summary>
152152
/// <param name="assetName"></param>
153153
/// <param name="recursively"></param>
154-
public async static UniTask UnloadScene(string assetName, bool recursively = false)
154+
public static void UnloadScene(string assetName, bool recursively = false)
155155
{
156156
if (!AssetPatcher.IsReleased())
157-
await CacheBundle.GetInstance().UnloadScene(assetName, recursively);
157+
CacheBundle.GetInstance().UnloadScene(assetName, recursively);
158158
}
159159

160-
public async static UniTask ReleaseBundleScenes()
160+
public static void ReleaseBundleScenes()
161161
{
162162
if (!AssetPatcher.IsReleased())
163-
await CacheBundle.GetInstance().ReleaseScenes();
163+
CacheBundle.GetInstance().ReleaseScenes();
164164
}
165165
#endregion
166166

@@ -202,7 +202,7 @@ public static async UniTask<string> GetRawFilePathAsync(string assetName)
202202
// Get path from operation handle
203203
var operation = pack.GetOperationHandle<RawFileHandle>();
204204
string filePath = operation.GetRawFilePath();
205-
await UnloadRawFile(assetName, true);
205+
UnloadRawFile(assetName, true);
206206
return filePath;
207207
}
208208

@@ -225,7 +225,7 @@ public static async UniTask<string> GetRawFilePathAsync(string packageName, stri
225225
// Get path from operation handle
226226
var operation = pack.GetOperationHandle<RawFileHandle>();
227227
string filePath = operation.GetRawFilePath();
228-
await UnloadRawFile(assetName, true);
228+
UnloadRawFile(assetName, true);
229229
return filePath;
230230
}
231231

@@ -247,7 +247,7 @@ public static string GetRawFilePath(string assetName)
247247
var operation = pack.GetOperationHandle<RawFileHandle>();
248248
// Get path from operation handle
249249
string filePath = operation.GetRawFilePath();
250-
UnloadRawFile(assetName, true).Forget();
250+
UnloadRawFile(assetName, true);
251251
return filePath;
252252
}
253253

@@ -270,7 +270,7 @@ public static string GetRawFilePath(string packageName, string assetName)
270270
var operation = pack.GetOperationHandle<RawFileHandle>();
271271
// Get path from operation handle
272272
string filePath = operation.GetRawFilePath();
273-
UnloadRawFile(assetName, true).Forget();
273+
UnloadRawFile(assetName, true);
274274
return filePath;
275275
}
276276

@@ -438,18 +438,18 @@ public static T LoadRawFile<T>(string packageName, string assetName, Progression
438438
return CacheBundle.GetInstance().LoadRawFile<T>(packageName, assetName, progression, maxRetryCount);
439439
}
440440

441-
public async static UniTask UnloadRawFile(string assetName, bool forceUnload = false)
441+
public static void UnloadRawFile(string assetName, bool forceUnload = false)
442442
{
443443
if (RefineResourcesPath(ref assetName))
444444
Logging.PrintError<Logger>("【Error】Only supports the bundle type.");
445445
else if (!AssetPatcher.IsReleased())
446-
await CacheBundle.GetInstance().UnloadRawFileAsync(assetName, forceUnload);
446+
CacheBundle.GetInstance().UnloadRawFile(assetName, forceUnload);
447447
}
448448

449-
public async static UniTask ReleaseBundleRawFiles()
449+
public static void ReleaseBundleRawFiles()
450450
{
451451
if (!AssetPatcher.IsReleased())
452-
await CacheBundle.GetInstance().ReleaseRawFilesAsync();
452+
CacheBundle.GetInstance().ReleaseRawFiles();
453453
}
454454
#endregion
455455

@@ -962,23 +962,23 @@ public static T InstantiateAsset<T>(string packageName, string assetName, Transf
962962
}
963963
}
964964

965-
public async static UniTask UnloadAsset(string assetName, bool forceUnload = false)
965+
public static void UnloadAsset(string assetName, bool forceUnload = false)
966966
{
967967
if (RefineResourcesPath(ref assetName))
968968
CacheResource.GetInstance().UnloadAsset(assetName, forceUnload);
969969
else if (!AssetPatcher.IsReleased())
970-
await CacheBundle.GetInstance().UnloadAsset(assetName, forceUnload);
970+
CacheBundle.GetInstance().UnloadAsset(assetName, forceUnload);
971971
}
972972

973973
public static void ReleaseResourceAssets()
974974
{
975975
CacheResource.GetInstance().ReleaseAssets();
976976
}
977977

978-
public async static UniTask ReleaseBundleAssets()
978+
public static void ReleaseBundleAssets()
979979
{
980980
if (!AssetPatcher.IsReleased())
981-
await CacheBundle.GetInstance().ReleaseAssets();
981+
CacheBundle.GetInstance().ReleaseAssets();
982982
}
983983
#endregion
984984
#endregion
@@ -1699,9 +1699,16 @@ public static void ReleaseBundleAssets(int groupId)
16991699
#endregion
17001700
#endregion
17011701

1702+
/// <summary>
1703+
/// 解析區分 Resources 或 Bundle 加載名稱規則
1704+
/// </summary>
1705+
/// <param name="assetName"></param>
1706+
/// <returns></returns>
17021707
internal static bool RefineResourcesPath(ref string assetName)
17031708
{
1704-
if (string.IsNullOrEmpty(assetName)) return false;
1709+
if (string.IsNullOrEmpty(assetName))
1710+
return false;
1711+
17051712
string prefix = "res#";
17061713
if (assetName.Length > prefix.Length)
17071714
{

Assets/OxGFrame/AssetLoader/Scripts/Runtime/AssetPatcher.cs

Lines changed: 73 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,24 @@ public static string GetRequestStreamingAssetsPath()
9898
{
9999
return BundleConfig.GetRequestStreamingAssetsPath();
100100
}
101+
102+
/// <summary>
103+
/// Get defualt bundle decryption services
104+
/// </summary>
105+
/// <returns></returns>
106+
public static DecryptionServices GetBundleDecryptionServices()
107+
{
108+
return PackageManager.bundleDecryptionServices;
109+
}
110+
111+
/// <summary>
112+
/// Get default manifest decryption services
113+
/// </summary>
114+
/// <returns></returns>
115+
public static DecryptionServices GetManifestDecryptionServices()
116+
{
117+
return PackageManager.manifestDecryptionServices;
118+
}
101119
#endregion
102120

103121
#region Patch Status
@@ -148,6 +166,25 @@ public static bool IsDone()
148166
#endregion
149167

150168
#region Patch Operation
169+
/// <summary>
170+
/// Custom app packages and dlc packages to bundle config at runtime
171+
/// </summary>
172+
/// <param name="appPackages"></param>
173+
/// <param name="dlcPackages"></param>
174+
public static void SetPresetPackages(List<AppPackageInfoWithBuild> appPackages, List<DlcPackageInfoWithBuild> dlcPackages)
175+
{
176+
PatchLauncher.SetPresetPackages(appPackages, dlcPackages);
177+
}
178+
179+
/// <summary>
180+
/// Init and setup preset packages
181+
/// </summary>
182+
/// <returns></returns>
183+
public static async UniTask InitSetupPresetPackages()
184+
{
185+
await PatchLauncher.InitializePresetPackages();
186+
}
187+
151188
/// <summary>
152189
/// Start patch update
153190
/// </summary>
@@ -215,17 +252,29 @@ public static string GetAppVersion()
215252
/// <summary>
216253
/// Get newest patch version (Recommend use encode to display)
217254
/// <para> Min and Max length = 11 to 32 </para>
255+
/// <para> Note: The newest patch version from preset packages </para>
218256
/// </summary>
219257
/// <returns></returns>
220258
public static string GetPatchVersion(bool encode = false, int length = 16, string separator = "-")
221259
{
222260
string[] versions = PatchManager.patchVersions.Values.ToArray();
261+
return GetPatchVersion(versions, encode, length, separator);
262+
}
263+
264+
/// <summary>
265+
/// Get newest patch version by custom (Recommend use encode to display)
266+
/// <para> Min and Max length = 11 to 32 </para>
267+
/// </summary>
268+
/// <returns></returns>
269+
public static string GetPatchVersion(string[] customPatchVersions, bool encode = false, int length = 16, string separator = "-")
270+
{
271+
string[] versions = customPatchVersions;
223272
string newestVersion = BundleUtility.NewestPackageVersion(versions);
224273
string patchVersion = string.IsNullOrEmpty(newestVersion) ? string.Empty : newestVersion;
225274

226275
// For simulate mode
227276
if (string.IsNullOrEmpty(patchVersion))
228-
patchVersion = BundleUtility.GetDefaultPackageVersion();
277+
patchVersion = BundleUtility.GetPackageVersionForNow();
229278

230279
if (encode)
231280
{
@@ -259,7 +308,7 @@ public static ulong GetPackageSizeInLocal(string packageName)
259308
}
260309

261310
/// <summary>
262-
/// Unload package and clear package files from local sandbox
311+
/// Unload (Destroy) package and clear package files from local sandbox
263312
/// </summary>
264313
/// <param name="packageName"></param>
265314
/// <param name="destroyPackage">Remove package from cache memory</param>
@@ -284,17 +333,17 @@ public static async UniTask<bool> UnloadPackage(string packageName)
284333
/// Init package by type
285334
/// </summary>
286335
/// <param name="packageInfo"></param>
287-
/// <param name="autoUpdate"></param>
336+
/// <param name="updatePackage"></param>
288337
/// <returns></returns>
289-
public static async UniTask<bool> InitPackage(PackageInfoWithBuild packageInfo, bool autoUpdate = false)
338+
public static async UniTask<bool> InitPackage(PackageInfoWithBuild packageInfo, bool updatePackage = false)
290339
{
291340
if (packageInfo is AppPackageInfoWithBuild)
292341
{
293-
return await InitAppPackage(packageInfo as AppPackageInfoWithBuild, autoUpdate);
342+
return await InitAppPackage(packageInfo as AppPackageInfoWithBuild, updatePackage);
294343
}
295344
else if (packageInfo is DlcPackageInfoWithBuild)
296345
{
297-
return await InitDlcPackage(packageInfo as DlcPackageInfoWithBuild, autoUpdate);
346+
return await InitDlcPackage(packageInfo as DlcPackageInfoWithBuild, updatePackage);
298347
}
299348

300349
return false;
@@ -305,23 +354,20 @@ public static async UniTask<bool> InitPackage(PackageInfoWithBuild packageInfo,
305354
/// Init app package (If PlayMode is HostMode will request from default host path)
306355
/// </summary>
307356
/// <param name="packageInfo"></param>
308-
/// <param name="autoUpdate"></param>
357+
/// <param name="updatePackage"></param>
309358
/// <returns></returns>
310-
public static async UniTask<bool> InitAppPackage(AppPackageInfoWithBuild packageInfo, bool autoUpdate = false)
359+
public static async UniTask<bool> InitAppPackage(AppPackageInfoWithBuild packageInfo, bool updatePackage = false)
311360
{
312361
string hostServer = null;
313362
string fallbackHostServer = null;
314363

315-
// Host Mode or WebGL Mode
316-
if (BundleConfig.playMode == BundleConfig.PlayMode.HostMode ||
317-
BundleConfig.playMode == BundleConfig.PlayMode.WeakHostMode ||
318-
BundleConfig.playMode == BundleConfig.PlayMode.WebGLRemoteMode)
364+
if (BundleConfig.playModeParameters.autoConfigureServerEndpoints)
319365
{
320366
hostServer = await BundleConfig.GetHostServerUrl(packageInfo.packageName);
321367
fallbackHostServer = await BundleConfig.GetFallbackHostServerUrl(packageInfo.packageName);
322368
}
323369

324-
return await PackageManager.InitPackage(packageInfo, autoUpdate, hostServer, fallbackHostServer);
370+
return await PackageManager.InitPackage(packageInfo, updatePackage, hostServer, fallbackHostServer);
325371
}
326372
#endregion
327373

@@ -330,30 +376,27 @@ public static async UniTask<bool> InitAppPackage(AppPackageInfoWithBuild package
330376
/// Init dlc package (If PlayMode is HostMode will request from default host dlc path)
331377
/// </summary>
332378
/// <param name="packageInfo"></param>
333-
/// <param name="autoUpdate"></param>
379+
/// <param name="updatePackage"></param>
334380
/// <returns></returns>
335-
public static async UniTask<bool> InitDlcPackage(DlcPackageInfoWithBuild packageInfo, bool autoUpdate = false)
381+
public static async UniTask<bool> InitDlcPackage(DlcPackageInfoWithBuild packageInfo, bool updatePackage = false)
336382
{
337383
string hostServer = packageInfo.hostServer;
338384
string fallbackHostServer = packageInfo.fallbackHostServer;
339385

340-
// Host Mode or WebGL Mode
341-
if (BundleConfig.playMode == BundleConfig.PlayMode.HostMode ||
342-
BundleConfig.playMode == BundleConfig.PlayMode.WeakHostMode ||
343-
BundleConfig.playMode == BundleConfig.PlayMode.WebGLRemoteMode)
386+
if (BundleConfig.playModeParameters.autoConfigureServerEndpoints)
344387
{
345388
hostServer = string.IsNullOrEmpty(hostServer) ? await BundleConfig.GetDlcHostServerUrl(packageInfo.packageName, packageInfo.dlcVersion, packageInfo.withoutPlatform) : hostServer;
346389
fallbackHostServer = string.IsNullOrEmpty(fallbackHostServer) ? await BundleConfig.GetDlcFallbackHostServerUrl(packageInfo.packageName, packageInfo.dlcVersion, packageInfo.withoutPlatform) : fallbackHostServer;
347390
}
348391

349-
return await PackageManager.InitPackage(packageInfo, autoUpdate, hostServer, fallbackHostServer);
392+
return await PackageManager.InitPackage(packageInfo, updatePackage, hostServer, fallbackHostServer);
350393
}
351394
#endregion
352395
#endregion
353396

354397
#region Update Package
355398
/// <summary>
356-
/// Update package manifest by package name
399+
/// Update package version and manifest by package name
357400
/// </summary>
358401
/// <param name="packageName"></param>
359402
/// <returns></returns>
@@ -421,6 +464,15 @@ public static ResourcePackage[] GetPackages(params string[] packageNames)
421464
{
422465
return PackageManager.GetPackages(packageNames);
423466
}
467+
468+
/// <summary>
469+
/// Get all packages
470+
/// </summary>
471+
/// <returns></returns>
472+
public static ResourcePackage[] GetAllPackages()
473+
{
474+
return PackageManager.GetAllPackages();
475+
}
424476
#endregion
425477

426478
#region Get Preset Package
@@ -481,30 +533,6 @@ public static DlcPackageInfoWithBuild[] GetPresetDlcPackageInfos()
481533
}
482534
#endregion
483535

484-
#region AssetInfo
485-
/// <summary>
486-
/// Get specific package assetInfos (Tags)
487-
/// </summary>
488-
/// <param name="package"></param>
489-
/// <param name="tags"></param>
490-
/// <returns></returns>
491-
public static AssetInfo[] GetPackageAssetInfosByTags(ResourcePackage package, params string[] tags)
492-
{
493-
return PackageManager.GetPackageAssetInfosByTags(package, tags);
494-
}
495-
496-
/// <summary>
497-
/// Get specific package assetInfos (AssetNames)
498-
/// </summary>
499-
/// <param name="package"></param>
500-
/// <param name="assetNames"></param>
501-
/// <returns></returns>
502-
public static AssetInfo[] GetPackageAssetInfosByAssetNames(ResourcePackage package, params string[] assetNames)
503-
{
504-
return PackageManager.GetPackageAssetInfosByAssetNames(package, assetNames);
505-
}
506-
#endregion
507-
508536
#region Downloader
509537
/// <summary>
510538
/// Get specific package downloader

0 commit comments

Comments
 (0)