unity插件開發——Selection

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方法來作篩選。

相關文章
相關標籤/搜索