private string _ToAssetBundleName(UDLib.Resource.ERESOURCE_TYPE eResourceType, string packageName = null) { string asset_bundle_name = eResourceType.ToString(); if (GetABBuildTypes()[(int)eResourceType] != UDLib.Utility.EBUILD_TYPE.PACK) { asset_bundle_name += "/" + packageName; } asset_bundle_name += GetABSuffix()[(int)eResourceType] + ".dat"; return(asset_bundle_name.ToLower()); }
private string _ResourceTypeToHash256String(UDLib.Resource.ERESOURCE_TYPE eResourceType, string name) { return(string.Format("{0}_{1:X2}", eResourceType.ToString(), (byte)CSLib.Security.CHash.GetBKDRHash(name))); }
//从folder里加载单个资源,主要是为了给lua调用,避免传数组 public void LoadAPrefabAsyncFromFolder( UDLib.Resource.ERESOURCE_TYPE eResourceType, string packageName, string resourceName, System.Action <UDLib.Resource.CAssetObject[], System.Object> callback = null, UDLib.Resource.CLoadPriority priority = UDLib.Resource.CLoadPriority.NORMAL, System.Object args = null, UDLib.Resource.CReleaseType releaseType = UDLib.Resource.CReleaseType.Normal ) { if (string.IsNullOrEmpty(resourceName)) { UDLib.Utility.CDebugOut.LogError("resource_name不能为空!package_name= {0},resourceType = {1}", packageName, eResourceType.ToString()); return; } new UDLib.Resource.CLoadObject((int)eResourceType, packageName, new string[1] { resourceName }, (isOK, objs, loadedArgs) => { if (isOK == true && objs.Length > 0) { callback(objs, loadedArgs); } else { UDLib.Utility.CDebugOut.LogError("LoadPrefabAsync error, resource_name: " + resourceName); } }, priority, args, releaseType); }