Selection是一個靜態類,它的主要功能是獲取在project窗口中鼠標選擇的對象或者是inspector窗口的當前顯示的對象。它的字段有orm
activeGameObject對象
activeInstanceIDio
activeObjectform
activeTransformtransform
gameObjectsobject
instanceIDsforeach
objects遍歷
transformsbug
其中activeGameObject和activeTransform是inspector窗口的當前顯示對象對應的GameObject和Transform。加入當前並不是是一個GameObject,那麼activeGameObject爲空,activeTransform也是同樣。activeInstanceID是選擇文件在工程中的惟一ID,經過這個ID能夠找到惟一對應的文件。objects是多選狀況下獲得的全部選擇的物體,這些物體能夠是各類類型,通常地,沒法解析的物體,如文件夾,普通的文件,默認爲Object類型。相比gameObjects,官方更加推薦使用transforms,它們的做用僅僅是對選擇的全部物體作類型匹配的篩選,返回篩選以後的結果。方法
在這些字段中,用得比較多的是activeObject,objects,由於是基類,因此咱們能夠作各類斷定和處理。好比:
var objs=Selection.objects;
foreach(var obj in objs)
{
if(obj is GameObject)
Debug.log(obj.name);
}
上面的代碼就是遍歷選擇的全部物體,若是該物體爲GameObject(Prefab也是GameObject),輸出該物體的名稱。
另外,Selection提供Contains方法來判斷選擇的物體作是否包含了某個物體,也提供GetFiltered方法來作篩選。