UnityEditor的Selection類

Unity官方文檔:https://docs.unity3d.com/ScriptReference/Selection.html


Selection

Selection類是編輯器類,使用需要using UnitryEditor;且腳本要放在Editor文件夾。


靜態變量:

  1. Selection.activeGameObject //返回當前點擊的場景遊戲物體或Project預製體;選擇多個則返回第一個選擇的;未選擇相應的則返回null
  2. Selection.activeTransform //返回當前點擊的場景遊戲物體;選擇多個則返回第一個選擇的;未選擇相應的則返回null
  3. Selection.activeObject //返回當前點擊的場景遊戲物體或Project資源(包括場景、腳本、預製等任意);選擇多個則返回第一個選擇的;未選擇相應的則返回null
  4. Selection.gameObjects //返回一個數組,內容爲當前點擊的場景物體或Project預製體;不符合條件的當前選擇不會加入到數組;爲選擇返回長度爲0的數組而不是null
  5. Selection.objects //返回一個數組,內容爲當前點擊的場景物體或Project資源(包括場景、腳本、預製等任意);不符合條件的當前選擇不會加入到數組;爲選擇返回長度爲0的數組而不是null
  6. Selection.transforms //返回一個數組,內容爲當前點擊的場景物體;不符合條件的當前選擇不會加入到數組;爲選擇返回長度爲0的數組而不是null
  7. Selection.selectionChanged //委託,選擇的東西變化的時候調用

靜態函數:

  1. ///Contains:選擇項中是否包含物體
  2. bool Selection.Contains(int instanceID)
  3. bool Selection.Contains(Object obj)
  4. ///GetFiltered:返回按類型和模式過濾的當前選擇。
  5. ///對於一個具有多個類型組件的選定的遊戲對象,只有第一個組件將包含在結果中。
  6. ///如果類型是Component或GameObject的子類,則支持完整的SelectionMode。
  7. ///如果類型不是Component或GameObject的子類,(例如:網格或腳本對象)則只支持有SelectionMode.ExcludePrefab和SelectionMode.Editable 。
  8. Object[] activeGos= Selection.GetFiltered( GameObject,SelectionMode.Editable | SelectionMode.TopLevel);
  9. ///GetTransforms:允許使用SelectionMode對選擇類型進行細粒度的控制。
  10. Transform[] selectionObjs= Selection.GetTransforms(SelectionMode.TopLevel | SelectionMode.Editable);

關於SelectionMode https://docs.unity3d.com/ScriptReference/SelectionMode.html

  1. Unfiltered 返回整個選擇
  2. TopLevel 只返回最上面選擇的transform。另一個選定的transform的選定子物體將被過濾掉。
  3. Deep 返回選擇的物體和它所有的子代
  4. ExcludePrefab 排除選擇裏的所有預製體
  5. Editable 排除任何不被修改的對象。
  6. Assets 只返回Asset文件夾的資源
  7. DeepAssets 如果選擇裏包含文件夾,則也包括文件夾裏的文件和子文件夾。

轉載自:https://blog.csdn.net/qq_33337811/article/details/72858209

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章