diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/BaseTasks/TaskCreateManifest.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/BaseTasks/TaskCreateManifest.cs index 23120ef4..4c8af55e 100644 --- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/BaseTasks/TaskCreateManifest.cs +++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/BaseTasks/TaskCreateManifest.cs @@ -180,9 +180,9 @@ namespace YooAsset.Editor for (int index = 0; index < manifest.BundleList.Count; index++) { var packageBundle = manifest.BundleList[index]; - if (_cacheBundleTags.ContainsKey(index)) + if (_cacheBundleTags.TryGetValue(index, out var value)) { - packageBundle.Tags = _cacheBundleTags[index].ToArray(); + packageBundle.Tags = value.ToArray(); } else { diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/BaseTasks/TaskGetBuildMap.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/BaseTasks/TaskGetBuildMap.cs index 6e78c054..68be80dd 100644 --- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/BaseTasks/TaskGetBuildMap.cs +++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/BaseTasks/TaskGetBuildMap.cs @@ -56,9 +56,9 @@ namespace YooAsset.Editor string bundleName = collectAssetInfo.BundleName; foreach (var dependAsset in collectAssetInfo.DependAssets) { - if (allBuildAssetInfos.ContainsKey(dependAsset.AssetPath)) + if (allBuildAssetInfos.TryGetValue(dependAsset.AssetPath, out var value)) { - allBuildAssetInfos[dependAsset.AssetPath].AddReferenceBundleName(bundleName); + value.AddReferenceBundleName(bundleName); } else { diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/RawFileBuildPipeline/BuildTasks/TaskCreateManifest_RFBP.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/RawFileBuildPipeline/BuildTasks/TaskCreateManifest_RFBP.cs index 4a7778af..816063a9 100644 --- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/RawFileBuildPipeline/BuildTasks/TaskCreateManifest_RFBP.cs +++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/RawFileBuildPipeline/BuildTasks/TaskCreateManifest_RFBP.cs @@ -14,7 +14,7 @@ namespace YooAsset.Editor protected override string[] GetBundleDepends(BuildContext context, string bundleName) { - return new string[] { }; + return Array.Empty(); } } } \ No newline at end of file diff --git a/Assets/YooAsset/Editor/AssetBundleCollector/AssetBundleCollectorSettingData.cs b/Assets/YooAsset/Editor/AssetBundleCollector/AssetBundleCollectorSettingData.cs index c0c41a25..3f44c409 100644 --- a/Assets/YooAsset/Editor/AssetBundleCollector/AssetBundleCollectorSettingData.cs +++ b/Assets/YooAsset/Editor/AssetBundleCollector/AssetBundleCollectorSettingData.cs @@ -23,7 +23,7 @@ namespace YooAsset.Editor private static readonly Dictionary _cacheIgnoreRuleTypes = new Dictionary(); private static readonly Dictionary _cacheIgnoreRuleInstance = new Dictionary(); - + /// /// 配置数据是否被修改 /// @@ -275,23 +275,23 @@ namespace YooAsset.Editor public static bool HasActiveRuleName(string ruleName) { - return _cacheActiveRuleTypes.Keys.Contains(ruleName); + return _cacheActiveRuleTypes.ContainsKey(ruleName); } public static bool HasAddressRuleName(string ruleName) { - return _cacheAddressRuleTypes.Keys.Contains(ruleName); + return _cacheAddressRuleTypes.ContainsKey(ruleName); } public static bool HasPackRuleName(string ruleName) { - return _cachePackRuleTypes.Keys.Contains(ruleName); + return _cachePackRuleTypes.ContainsKey(ruleName); } public static bool HasFilterRuleName(string ruleName) { - return _cacheFilterRuleTypes.Keys.Contains(ruleName); + return _cacheFilterRuleTypes.ContainsKey(ruleName); } public static bool HasIgnoreRuleName(string ruleName) { - return _cacheIgnoreRuleTypes.Keys.Contains(ruleName); + return _cacheIgnoreRuleTypes.ContainsKey(ruleName); } public static IActiveRule GetActiveRuleInstance(string ruleName) diff --git a/Assets/YooAsset/Runtime/CacheSystem/CacheManager.cs b/Assets/YooAsset/Runtime/CacheSystem/CacheManager.cs index 9b94fc28..45832a5c 100644 --- a/Assets/YooAsset/Runtime/CacheSystem/CacheManager.cs +++ b/Assets/YooAsset/Runtime/CacheSystem/CacheManager.cs @@ -94,10 +94,7 @@ namespace YooAsset } } - if (_wrappers.ContainsKey(cacheGUID)) - { - _wrappers.Remove(cacheGUID); - } + _wrappers.Remove(cacheGUID); } /// diff --git a/Assets/YooAsset/Runtime/ResourceManager/Handle/AllAssetsHandle.cs b/Assets/YooAsset/Runtime/ResourceManager/Handle/AllAssetsHandle.cs index abce66e5..7f5cb908 100644 --- a/Assets/YooAsset/Runtime/ResourceManager/Handle/AllAssetsHandle.cs +++ b/Assets/YooAsset/Runtime/ResourceManager/Handle/AllAssetsHandle.cs @@ -67,7 +67,7 @@ namespace YooAsset /// /// 子资源对象集合 /// - public UnityEngine.Object[] AllAssetObjects + public IReadOnlyList AllAssetObjects { get { diff --git a/Assets/YooAsset/Runtime/ResourceManager/Handle/SubAssetsHandle.cs b/Assets/YooAsset/Runtime/ResourceManager/Handle/SubAssetsHandle.cs index 48421a0f..c6e742a1 100644 --- a/Assets/YooAsset/Runtime/ResourceManager/Handle/SubAssetsHandle.cs +++ b/Assets/YooAsset/Runtime/ResourceManager/Handle/SubAssetsHandle.cs @@ -67,7 +67,7 @@ namespace YooAsset /// /// 子资源对象集合 /// - public UnityEngine.Object[] AllAssetObjects + public IReadOnlyList AllAssetObjects { get { diff --git a/Assets/YooAsset/Runtime/ResourcePackage/ManifestTools.cs b/Assets/YooAsset/Runtime/ResourcePackage/ManifestTools.cs index 05f34659..20a14fde 100644 --- a/Assets/YooAsset/Runtime/ResourcePackage/ManifestTools.cs +++ b/Assets/YooAsset/Runtime/ResourcePackage/ManifestTools.cs @@ -166,10 +166,8 @@ namespace YooAsset { // 注意:我们不允许原始路径存在重名 string assetPath = packageAsset.AssetPath; - if (manifest.AssetDic.ContainsKey(assetPath)) + if (!manifest.AssetDic.TryAdd(assetPath, packageAsset)) throw new Exception($"AssetPath have existed : {assetPath}"); - else - manifest.AssetDic.Add(assetPath, packageAsset); } return manifest; diff --git a/Assets/YooAsset/Runtime/ResourcePackage/Operation/Internal/DeserializeManifestOperation.cs b/Assets/YooAsset/Runtime/ResourcePackage/Operation/Internal/DeserializeManifestOperation.cs index 77e088b7..101876ee 100644 --- a/Assets/YooAsset/Runtime/ResourcePackage/Operation/Internal/DeserializeManifestOperation.cs +++ b/Assets/YooAsset/Runtime/ResourcePackage/Operation/Internal/DeserializeManifestOperation.cs @@ -124,10 +124,8 @@ namespace YooAsset // 注意:我们不允许原始路径存在重名 string assetPath = packageAsset.AssetPath; - if (Manifest.AssetDic.ContainsKey(assetPath)) + if (!Manifest.AssetDic.TryAdd(assetPath, packageAsset)) throw new System.Exception($"AssetPath have existed : {assetPath}"); - else - Manifest.AssetDic.Add(assetPath, packageAsset); // 填充AssetPathMapping1 { @@ -136,19 +134,15 @@ namespace YooAsset location = location.ToLower(); // 添加原生路径的映射 - if (Manifest.AssetPathMapping1.ContainsKey(location)) + if (!Manifest.AssetPathMapping1.TryAdd(location, packageAsset.AssetPath)) throw new System.Exception($"Location have existed : {location}"); - else - Manifest.AssetPathMapping1.Add(location, packageAsset.AssetPath); // 添加无后缀名路径的映射 string locationWithoutExtension = Path.ChangeExtension(location, null); if (ReferenceEquals(location, locationWithoutExtension) == false) { - if (Manifest.AssetPathMapping1.ContainsKey(locationWithoutExtension)) + if (!Manifest.AssetPathMapping1.TryAdd(locationWithoutExtension, packageAsset.AssetPath)) YooLogger.Warning($"Location have existed : {locationWithoutExtension}"); - else - Manifest.AssetPathMapping1.Add(locationWithoutExtension, packageAsset.AssetPath); } } if (Manifest.EnableAddressable) @@ -156,20 +150,16 @@ namespace YooAsset string location = packageAsset.Address; if (string.IsNullOrEmpty(location) == false) { - if (Manifest.AssetPathMapping1.ContainsKey(location)) + if (!Manifest.AssetPathMapping1.TryAdd(location, packageAsset.AssetPath)) throw new System.Exception($"Location have existed : {location}"); - else - Manifest.AssetPathMapping1.Add(location, packageAsset.AssetPath); } } // 填充AssetPathMapping2 if (Manifest.IncludeAssetGUID) { - if (Manifest.AssetPathMapping2.ContainsKey(packageAsset.AssetGUID)) + if (!Manifest.AssetPathMapping2.TryAdd(packageAsset.AssetGUID, packageAsset.AssetPath)) throw new System.Exception($"AssetGUID have existed : {packageAsset.AssetGUID}"); - else - Manifest.AssetPathMapping2.Add(packageAsset.AssetGUID, packageAsset.AssetPath); } _packageAssetCount--; diff --git a/Assets/YooAsset/Runtime/ResourcePackage/PackageManifest.cs b/Assets/YooAsset/Runtime/ResourcePackage/PackageManifest.cs index 53a52fe7..9160c079 100644 --- a/Assets/YooAsset/Runtime/ResourcePackage/PackageManifest.cs +++ b/Assets/YooAsset/Runtime/ResourcePackage/PackageManifest.cs @@ -344,7 +344,7 @@ namespace YooAsset if (string.IsNullOrEmpty(location) == false) { // 检查路径末尾是否有空格 - int index = location.LastIndexOf(" "); + int index = location.LastIndexOf(' '); if (index != -1) { if (location.Length == index + 1) diff --git a/Assets/YooAsset/Runtime/Utility/YooUtility.cs b/Assets/YooAsset/Runtime/Utility/YooUtility.cs index 8069b23b..80cb58b3 100644 --- a/Assets/YooAsset/Runtime/Utility/YooUtility.cs +++ b/Assets/YooAsset/Runtime/Utility/YooUtility.cs @@ -1,9 +1,7 @@ using System; -using System.Collections; -using System.Collections.Generic; -using System.Text; using System.IO; using System.Security.Cryptography; +using System.Text; namespace YooAsset { @@ -29,7 +27,7 @@ namespace YooAsset if (string.IsNullOrEmpty(str)) return str; - int index = str.LastIndexOf("."); + int index = str.LastIndexOf('.'); if (index == -1) return str; else