• unity插件开发——Selection


    Selection是一个静态类,它的主要功能是获取在project窗口中鼠标选择的对象或者是inspector窗口的当前显示的对象。它的字段有

    activeGameObject

    activeInstanceID

    activeObject

    activeTransform

    gameObjects

    instanceIDs

    objects

    transforms

    其中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方法来做筛选。

    个人博客请访问:http://www.cnblogs.com/CodeGize/
  • 相关阅读:
    记录我发现的第一个关于 Google 的 Bug
    iOS 中的 Delayed Transition
    Appstore|IPA
    地图|定位
    开发者账号
    App跳转
    国际化
    短信|彩信
    闪光灯
    Cornerstone|SVN
  • 原文地址:https://www.cnblogs.com/CodeGize/p/5648748.html
Copyright © 2020-2023  润新知