UnityEditor--------------之Selection類的變量解析

UnityEditor的Selection類

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

 

Selection數組

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

 

靜態變量:函數

 

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

靜態函數:

 

 

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

 

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

 

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

 

 
0
相關文章
相關標籤/搜索