public static void SetAssetBundleName(string path) { string n = Path.GetFileNameWithoutExtension(path); n = ALG.EncodeBundleName(n); SetAssetBundleName(path, n); }
public static void SetAssetBundleName(AssetImporter ai) { string n = Path.GetFileNameWithoutExtension(ai.assetPath); n = ALG.EncodeBundleName(n); ai.assetBundleName = n; }
IEnumerator RealLoadAssetBundle(AssetTask assetTask) { assetTask.abName = ALG.DecodeBundleName(assetTask.abName); var dependencies = _assetDependency.GetDependencies(ALG.EncodeBundleName(assetTask.abName)); var taskArray = new AssetTask[dependencies.Length]; for (var i = 0; i < dependencies.Length; i++) { var task = new AssetTask(dependencies[i], null, null, null, null); taskArray[i] = task; new Task(RealLoadAssetBundle(task), "AssetBundleManager_" + task.abName); } var j = 0; while (j < taskArray.Length) { if (taskArray[j].isFinish) { j++; } else { yield return(null); } } _assetBundleLoader.LoadAssetBundle(assetTask.abName, (AssetBundle ab) => { _assetBundleLoader.GetAssetBundle(assetTask.abName).AddReference(); assetTask.isFinish = true; }, null); while (!assetTask.isFinish) { yield return(null); } }
public static string DecodeBundleName(string name) { if (name.EndsWith(".ab")) { return(ALG.DecodeHexString(name.Substring(0, name.Length - 3))); } return(name); }
public static string EncodeBundleName(string name) { if (name.EndsWith(".ab")) { return(name); } return(ALG.EncodeHexString(name) + ".ab"); }
public static void BuildAssetBundle(string path) { AssetBundleBuild abb = new AssetBundleBuild(); abb.assetNames = new string[] { path }; abb.assetBundleName = ALG.EncodeHexString(Path.GetFileNameWithoutExtension(path)) + ".ab"; BuildPipeline.BuildAssetBundles(FilePathDefine.projectExportPath, new AssetBundleBuild[] { abb }, babo, EditorUserBuildSettings.activeBuildTarget); }
/// <summary> /// 加载manifest /// </summary> private void LoadManifest() { foreach (string path in FilePathDefine.loadedPath) { var _path = Path.Combine(path, ALG.EncodeHexString(FilePathDefine.platform)); if (File.Exists(_path)) { var bundleLoadRequest = AssetBundle.LoadFromFile(_path); _abManifest = bundleLoadRequest.LoadAsset <AssetBundleManifest>("AssetBundleManifest"); Debug.Log(_abManifest); return; } } }
private void RealUnloadAssetWithName(string name) { name = ALG.DecodeBundleName(name); string[] dependencies = _assetDependency.GetDependencies(ALG.EncodeBundleName(name)); for (int i = 0; i < dependencies.Length; i++) { RealUnloadAssetWithName(dependencies[i]); } var abCache = _assetBundleLoader.GetAssetBundle(name); if (null == abCache) { return; } abCache.RemoveReference(); if (0 >= abCache.ReferencesCount) { releaseList.Add(abCache); } }
IEnumerator RealLoadAssetBundle(AssetBundleCache abCache) { //foreach(string path in FilePathDefine.loadedPath){ var paths = FilePathDefine.loadedPath; var _path = Path.Combine(paths[0], ALG.EncodeBundleName(abCache.Name)); if (!File.Exists(_path)) { _path = Path.Combine(paths[1], ALG.EncodeBundleName(abCache.Name)); } var bundleLoadRequest = AssetBundle.LoadFromFileAsync(_path); yield return(bundleLoadRequest); var myLoadedAssetBundle = bundleLoadRequest.assetBundle; abCache.Target = myLoadedAssetBundle; abCache.LoadAssetSuccessCallback(myLoadedAssetBundle); abCache.isLock = false; //} }
public string ComputeHmac(string data, string secretKey, ALG alg) { byte[] bdata = Encoding.UTF8.GetBytes(data); byte[] bkey = Encoding.UTF8.GetBytes(secretKey); switch (alg) { case ALG.HS256: return(Convert.ToBase64String(ComputeHmacsha256(bdata, bkey))); case ALG.HS512: return(Convert.ToBase64String(ComputeHmacsha512(bdata, bkey))); case ALG.HS384: return(Convert.ToBase64String(ComputeHmacsha384(bdata, bkey))); case ALG.RS256: return(Convert.ToBase64String(ComputeRS256(bdata, bkey))); default: return(Convert.ToBase64String(ComputeHmacsha256(bdata, bkey))); } }
private string GetSignature(string headerStr, string payloadStr, string SecretKey, ALG alg) { string value = EncryptSvc.ComputeHmac(headerStr.Base64Encode() + "." + payloadStr.Base64Encode(), SecretKey, alg); return(value); }