Assets Only Attribute特性有兩類
- AssetsOnly: 點擊需要序列化的資源字段時,在出現的彈窗中只有Project中的資源文件,不會出現Hierachy(場景)的資源
- SceneObjectsOnly: 點擊需要序列化的資源字段時,在出現的彈窗中只有Hierachy中的資源文件,不會出現Project中的資源
注意:例如:預制體等資源在Scene或者Project中都含有,出現的彈窗中也都會含有對應的資源
選中場景中的資源
[SceneObjectsOnly]
public List<GameObject> onlySceneObjectList;
[SceneObjectsOnly]
public GameObject someSceneObject;
[SceneObjectsOnly]
public MeshRenderer someMeshRendererInScene;
選中工程中的資源
[AssetsOnly]
public List<GameObject> assetsOnlyPrefabList;
[AssetsOnly]
public GameObject ssetsOnlyPrefab;
[AssetsOnly]
public Material assetsOnlyMaterial;
[AssetsOnly]
public MeshRenderer someMeshRendererOnPrefab;
完整示例代碼
using Sirenix.OdinInspector;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AssetsOnlyExample : MonoBehaviour
{
[AssetsOnly]
public List<GameObject> OnlyPrefabs;
[AssetsOnly]
public GameObject SomePrefab;
[AssetsOnly]
public Material MaterialAsset;
[AssetsOnly]
public MeshRenderer SomeMeshRendererOnPrefab;
[SceneObjectsOnly]
public List<GameObject> OnlySceneObjects;
[SceneObjectsOnly]
public GameObject SomeSceneObject;
[SceneObjectsOnly]
public MeshRenderer SomeMeshRenderer;
}