From 74626e0feb74258b68d0c02eb4bff691d7617541 Mon Sep 17 00:00:00 2001 From: Shu Masuda Date: Sun, 14 Feb 2021 06:04:27 +0900 Subject: [PATCH] :clipboard: Add HttpsURLResolver --- .../AssetBundleManagement/Enumerates.cs | 1 + .../URLResolver/HttpsURLResolver.cs | 50 +++++++++++++++++++ .../URLResolver/HttpsURLResolver.cs.meta | 3 ++ 3 files changed, 54 insertions(+) create mode 100644 Assets/Scripts/UnityModule/AssetBundleManagement/URLResolver/HttpsURLResolver.cs create mode 100644 Assets/Scripts/UnityModule/AssetBundleManagement/URLResolver/HttpsURLResolver.cs.meta diff --git a/Assets/Scripts/UnityModule/AssetBundleManagement/Enumerates.cs b/Assets/Scripts/UnityModule/AssetBundleManagement/Enumerates.cs index 9f91b5d..a6aa3ab 100644 --- a/Assets/Scripts/UnityModule/AssetBundleManagement/Enumerates.cs +++ b/Assets/Scripts/UnityModule/AssetBundleManagement/Enumerates.cs @@ -5,6 +5,7 @@ public enum AssetBundleSource { StreamingAssets, ObjectStorage, ContentsDeliverNetwork, + Https, } } \ No newline at end of file diff --git a/Assets/Scripts/UnityModule/AssetBundleManagement/URLResolver/HttpsURLResolver.cs b/Assets/Scripts/UnityModule/AssetBundleManagement/URLResolver/HttpsURLResolver.cs new file mode 100644 index 0000000..28310e6 --- /dev/null +++ b/Assets/Scripts/UnityModule/AssetBundleManagement/URLResolver/HttpsURLResolver.cs @@ -0,0 +1,50 @@ +using System.IO; + +namespace UnityModule.AssetBundleManagement +{ + public class HttpsURLResolver: URLResolverBase + { + private const int HashSubstringDigit = 2; + + private const string SingleManifestDirectoryName = "SingleManifests"; + + public HttpsURLResolver(string hostName, string pathPrefix) + { + GenerateProtocol = () => "https"; + GenerateHostname = () => hostName; + GenerateAssetBundlePath = + (snakeCaseProjectName, assetBundleName) => + { + var hashString = GetSingleManifest().GetAssetBundleHash(assetBundleName).ToString(); + return Path.Combine( + pathPrefix, + AppendPathPrefix ? DefaultPathPrefix : string.Empty, + snakeCaseProjectName, + GetPlatformPathName(), + hashString.Substring(0, HashSubstringDigit), + hashString + ); + }; + GenerateSingleManifestPath = + (snakeCaseProjectName) => + Path.Combine( + pathPrefix, + AppendPathPrefix ? DefaultPathPrefix : string.Empty, + snakeCaseProjectName, + GetPlatformPathName(), + SingleManifestDirectoryName, + ResolveSingleManifestVersion().ToString() + ); + GenerateProjectPlatformFilePath = + (snakeCaseProjectName, fileName) => + Path.Combine( + pathPrefix, + AppendPathPrefix ? DefaultPathPrefix : string.Empty, + snakeCaseProjectName, + GetPlatformPathName(), + fileName + ); + AppendPathPrefix = true; + } + } +} diff --git a/Assets/Scripts/UnityModule/AssetBundleManagement/URLResolver/HttpsURLResolver.cs.meta b/Assets/Scripts/UnityModule/AssetBundleManagement/URLResolver/HttpsURLResolver.cs.meta new file mode 100644 index 0000000..9ad6107 --- /dev/null +++ b/Assets/Scripts/UnityModule/AssetBundleManagement/URLResolver/HttpsURLResolver.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d4ad47e67add4d0e922f4ac4214958c8 +timeCreated: 1613250118 \ No newline at end of file