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); }
public AssetOperationResult[] Execute(AssetSearcherResult searcherResult, AssetGroupResult groupResult) { AssetFilterResult filterResult = ExecuteFilter(searcherResult); List <AssetOperationResult> operationResults = new List <AssetOperationResult>(); List <AssetOperationResult> results = new List <AssetOperationResult>(); if (m_OperationComposeType == AssetComposeType.All) { //男的&& 大于25 && 上过学的 AssetOperationResult operationResult = null; foreach (var assetOperation in m_AssetOperations) { if (operationResult == null) { operationResult = assetOperation.Execute(filterResult, null); if (operationResult != null) { results.Add(operationResult); } } else { assetOperation.Execute(filterResult, operationResult); } } } else { foreach (var assetOperation in m_AssetOperations) { //男的|| 大于25 || 上过学的 AssetOperationResult operationResult = assetOperation.Execute(filterResult, null); if (operationResult != null) { results.Add(operationResult); } } } return(results.ToArray()); }
/// <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); }
/// <summary> /// 执行 /// </summary> /// <param name="filterResult"></param> /// <param name="operationResult"></param> /// <returns></returns> public virtual AssetOperationResult Execute(AssetFilterResult filterResult, AssetOperationResult operationResult) { return(operationResult); }