AssetDatabase.IsSubAsset
Declaration
public static bool IsSubAsset(Object obj);public static bool IsSubAsset(EntityId entityId);Obsolete public static bool IsSubAsset(int instanceID);Параметры
| Параметр | Описание |
|---|---|
| Объект | Объект ассета для запроса. |
| instanceID | Экземпляр ID объекта ассета для запроса. |
| entityId | EntityID объекта ассета для запроса. |
Возвращаемое значение
логическое True, если ассет является частью другого ассета, в противном случае false.
Описание
Проверяет, является ли ассет частью другого ассета.
Некоторые ассеты могут быть частью другого ассета (например, процессуальные материалы могут быть частью пакета материалов). Этот метод определяет, является ли ассет таким образом субординированным.
using UnityEditor; using UnityEngine; public class Scriptable : ScriptableObject { }
public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Is Sub Asset Example")] static void IsSubAssetExample() { var materialAsset = new Material(Shader.Find("Standard")); //materialAsset is still in memory, therefore this will be False Debug.Log(AssetDatabase.IsSubAsset(materialAsset));
//Create a Scriptable object var scriptableAssetPath = "Assets/ScriptableObjects/NewObject.asset"; var mainAsset = ScriptableObject.CreateInstance<Scriptable>(); AssetDatabase.CreateAsset(mainAsset, scriptableAssetPath);
//Add the Material Asset to the Scriptable object, so that the Material becomes a Sub Asset of the Scriptable object AssetDatabase.AddObjectToAsset(materialAsset, scriptableAssetPath); AssetDatabase.SaveAssets();
//This will be True because the Material asset has been added to the mainAsset and is now a Sub Asset Debug.Log(AssetDatabase.IsSubAsset(materialAsset)); } }