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方法来作筛选。

相关文章
相关标签/搜索