private int m_GroupIndex = 0; //索引 /// <summary> /// 执行 /// </summary> /// <param name="filterResult"></param> /// <param name="operationResult"></param> /// <returns></returns> public override AssetOperationResult Execute(AssetFilterResult filterResult, AssetOperationResult operationResult) { if (operationResult == null) { operationResult = new AssetAddressOperationResult(); } AssetAddressOperationResult result = operationResult as AssetAddressOperationResult; foreach (var assetPath in filterResult.m_AssetPaths) { if (!result.m_AddressDataDic.TryGetValue(assetPath, out AssetAddressData addressData)) { addressData = new AssetAddressData(); addressData.AssetPath = assetPath; result.m_AddressDataDic.Add(assetPath, addressData); } string rootFolder = Path.GetDirectoryName(assetPath).Replace("\\", "/"); string bundPathStr = GetAssetBundle(rootFolder, assetPath).ToLower(); //设置AB set Name switch (m_BundNameMode) { case AssetBundleNameMode.PathString: addressData.BundlePath = bundPathStr; break; case AssetBundleNameMode.PathMd5: addressData.BundlePath = GetHash(bundPathStr, false); break; } } return(result); }
/// <summary> /// 执行 /// </summary> /// <param name="filterResult"></param> /// <param name="operationResult"></param> /// <returns></returns> public override AssetOperationResult Execute(AssetFilterResult filterResult, AssetOperationResult operationResult) { if (operationResult == null) { operationResult = new AssetAddressOperationResult(); } AssetAddressOperationResult result = operationResult as AssetAddressOperationResult; foreach (var assetPath in filterResult.m_AssetPaths) { if (!result.m_AddressDataDic.TryGetValue(assetPath, out AssetAddressData addressData)) { addressData = new AssetAddressData(); addressData.AssetPath = assetPath; result.m_AddressDataDic.Add(assetPath, addressData); } addressData.AssetAddress = GetAssetAddress(assetPath); } return(result); }