AssetDatabase.GetImplicitAssetBundleName
Declaration
public static string GetImplicitAssetBundleName(string assetPath);Параметры
| Параметр | Описание |
|---|---|
| assetPath | Путь ассета. |
Возвращаемое значение
строка Возвращает имя AssetBundle, к которому принадлежит заданный ассет. Более подробную информацию см. в описании метода.
Описание
Возвращает имя AssetBundle, к которому принадлежит данный ассет.
Если ассет явно назначен AssetBundle, то возвращается это значение. Если ассет не принадлежит AssetBundle, его родительские папки обрабатываются до тех пор, пока не будет найдена папка, принадлежащая AssetBundle. Если найдена папка, соответствующая этому условию, возвращается её имя AssetBundle. Если не найдено, возвращается пустая строка.
using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEditor; public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Check Bundle Names")] static void CheckBundleNames() { var assetsWithIncorrectBundle = new List<string>(); var correctBundleName = "metaltexturebundle"; //Check if any of the assets have an incorrect bundle set to them for (var i = 0; i < 10; i++) { var texturePath = $"Assets/Textures/Metal/Metal{i}.png"; if(AssetDatabase.GetImplicitAssetBundleName(texturePath) != correctBundleName) assetsWithIncorrectBundle.Add(texturePath); }
//If no such assets exist then return if (!assetsWithIncorrectBundle.Any()) return; //If there are such assets then print them out var incorrectAssetNames = ""; foreach (var asset in assetsWithIncorrectBundle) { incorrectAssetNames += $"\"{asset}\" "; } Debug.LogWarning($"Assets with an incorrect Asset Bundle {incorrectAssetNames}"); } }