2016-12-16 69 views
1
private void CheckingSelection() { 
    Transform child = Selection.activeTransform; 
    Transform[] patchesTransform = builder.GetLevelEditorPatchesTransform(); 

    foreach (var parent in patchesTransform) { 
     if (child.IsChildOf(parent) && child != parent) { 
      Debug.Log("Set active " + parent.gameObject); 
      Selection.activeGameObject = parent.gameObject; 
     } 
    } 
} 

這就是我所做的,但它不會選擇父項。我做錯了什麼?如何通過腳本選擇Unity中層次結構中的對象?

回答

0

這筆交易是我如何調用方法CheckingSelection();

我加了這個方法來委託Selection.selectionChanged。我認爲在選擇一些東西后我會檢查它的邏輯。但它不起作用。它可能是Unity內部的東西,阻止遞歸或者一些。

因此,我添加了CheckingSelection()方法到EditorApplication.update委託,它的工作原理。