主題

找尋所有引用某個物件的補助工具

KenPoPyo | 2023-02-11 21:27:06 | 巴幣 0 | 人氣 138

需要情報
獲得目前場景名稱
EditorSceneManager.GetActiveScene().name
路徑的檔案名稱(無副檔名)
Path.GetFileNameWithoutExtension("文件路徑")

獲得路徑下所有檔案的GUID。
路徑可為複數。參數為只能為string[]。
string[] 變數名 = AssetDatabase.FindAssets("",new string[]{"路徑001", "路徑002"})
把[檔案的GUID]轉換為[檔案的路徑(含檔案名跟副檔名)]
string 檔案的路徑(含檔案名跟副檔名) = AssetDatabase.GUIDToAssetPath("檔案的GUID")
例:
E:\New\unity\UnityEditor\AssetDatabase使用.png

獲得物件的資源路徑
找不到回傳空""

遊戲物件的InstanceID,這個值是系統自動賦予的,且是唯一的。
int 物件InstanceID =
gameObject.GetInstanceID();

取得目前場景內所有物件
Object[] 所有物件 =
Resources.FindObjectsOfTypeAll(typeof(Transform));

{
取得節選後的選擇物件
Transform[] 節選後物件 =
Selection.GetTransforms(SelectionMode.Editable | SelectionMode.ExcludePrefab);

不和上面一起做使用的話,Selection.objects得到的只有0。
        Selection.objects = allTransforms.Cast<Transform>()
            .Where(x => x != null)
            .Select(x => x.gameObject)
            .Cast<UnityEngine.GameObject>().ToArray();
}

取得遊戲物件上所有組件
Component[] 所有組件 =
gameObject.GetComponents<Component>();

取得按鈕OnClick事件數量。
int 事件數量 =
UnityEngine.UI.Button.onClick.GetPersistentEventCount()

取得按鈕OnClick事件引用的物件
Object 引用物件 =
UnityEngine.UI.Button.onClick.GetPersistentTarget(int)

FieldInfo
TOP
開啟 APP

巴哈姆特 APP
最舒適便利的瀏覽體驗

開啟巴哈姆特 APP