当前位置:   article > 正文

UnityEditor 常用类_unityeditor类

unityeditor类

UnityEditor 常用类

一、Selection 类

Selection 一般会配合 SelectionMode 枚举类使用

Selection 里的方法和变量均为静态

1.变量

Object activeContext:返回通过 SetActiveObjectWithContext 方法设置的当前上下文对象。

如果选中多个,会默认返回第一个:

int activeInstanceID:回实际的对象选择。包括预制件,不可修改的对象的InstanceID。
Object activeObject:返回实际的对象选择。包括预制件,不可修改的对象。
GameObject activeGameObject:返回活动状态的游戏对象(显示在检视面板中的对象) 含Assets 里的预制体。如果第一个不是 GameObject,会返回空。
Transform activeTransform:返回活动状态的 Transform(显示在检视面板中的对象)。如果第一个选中不在 Hierarchy 中,会返回空.

返回多个:

Object[] objects:场景中未过滤的选择(选中的所有东西)。 包括文件 预制体 图片等。
GameObject[] gameObjects:返回实际的游戏对象选择。包括预制件,不可修改的对象。返回 GameObject 数组,如果选中的有不是 GameObject,则不放入数组中。Assets 里的预制体也会放入。
Transform[] transforms:返回顶层选择,不包括预制件。如果选中的 Transform 中有父子关系的,会只放入父 Transform,不会放入子 Transform。
int[] instanceIDs:实际未过滤的场景选择返回实例id而不是对象。选中的所有东西的InstanceID。
string[] assetGUIDs:返回所选资源的GUID。Hierarchy 面板里面的选中不放入在内。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

2.方法

  • Contains

bool Contains(UnityEngine.Object obj)

bool Contains(int instanceID)

返回对象是否包含在所选内容中。感觉不用介绍。

  • GetFiltered

UnityEngine.Object[] GetFiltered(Type type, SelectionMode mode)

T[] GetFiltered(SelectionMode mode)

返回按类型和模式筛选的当前选择。可在 Project 面板中使用。

  • GetTransforms

Transform[] GetTransforms(SelectionMode mode)

允许使用 SelectionMode 位掩码对选择类型进行精细控制。可在 Project 面板中使用。

  • SetActiveObjectWithContext

void SetActiveObjectWithContext(UnityEngine.Object obj, UnityEngine.Object context)

选择具有上下文的对象。没看懂。

3.SelectionMode 枚举类

SelectionMode 在使用时可以多个使用,中间使用 | 隔开。

Unfiltered:返回所有选择。
TopLevel:只返回最上面选择的转换。另一个选定转换的选定子转换将被过滤掉。(现在所有的里面找需要的类型,然后在这里面如果有父子关系,只返回父物体。)
Deep:返回所选内容以及所选内容的所有子内容。(会将子物体也返回。)
ExcludePrefab:排除选择里的所有预制体。
Editable:排除任何不可修改的对象。
Assets:只返回 Assets 目录下的资源。
DeepAssets:如果选择的是文件夹,则包括文件夹下的所有文件和子文件夹。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

问题:

  • 使用 DeepAssets 的时候,类型不设置为 UnityEngine.Object,获取不到东西。
Selection.GetFiltered(typeof(GameObject),SelectionMode.Assets|SelectionMode.DeepAssets)

Selection.GetFiltered(typeof(Object),SelectionMode.Assets|SelectionMode.DeepAssets)
  • 1
  • 2
  • 3
  • 在1号区选中文件夹时,Selection.objects 中不包含选中文件夹。但是2号区域选中就包含。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Htf03NVM-1687654624745)(image-20220422102153074.png)]

4.EditorUtility

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/93235
推荐阅读
相关标签
  

闽ICP备14008679号