[MenuItem("Assets/Test")]
public static void Test()
{
UnityEngine.Object[] gameObjects = Selection.objects;
}
右键就出现了Test的选项,功能就可以在此函数里面实现。而如果我们想对一堆多选的资源进行操作就可以通过上面的函数中的Selection获得:
Selection类:
Static Properties
activeContext 返回当前上下文对象,如通过SetActiveObjectWithContext设置的那样。
activeGameObject 返回活动的游戏对象。(检查员显示的那个)。
activeInstanceID 返回实际对象选择的instanceID。包括预制件,不可修改的物体。
activeObject 返回实际的对象选择。包括预制件,不可修改的物体。
activeTransform 返回活动转换。(检查员显示的那个)。 assetGUIDs 返回所选资产的guid。
gameObjects 返回实际的游戏对象选择。包括预制件,不可修改的物体。
instanceIDs 来自Scene的实际未过滤选择作为实例ID而不是对象返回。 objects 来自场景的实际未过滤选择。
selectionChanged 当前活动/所选项目已更改时,会触发委托回调。
transforms 返回*选择,不包括Prefabs。
Static Methods
Contains 返回当前选择中是否包含对象。
GetFiltered 返回按类型和模式筛选的当前选择。
GetTransforms 允许使用SelectionMode位掩码对选择类型进行细粒度控制。
SetActiveObjectWithContext 选择具有上下文的对象。
SelectionMode
SelectionMode可用于调整Selection.GetTransforms返回的选择。
默认的转换选择模式是:SelectionMode.TopLevel | SelectionMode.ExcludePrefab |
SelectionMode.Editable。
Unfiltered 返回整个选择。
TopLevel 仅返回最顶部的选定变换。将筛选出另一个所选变换的选定子项。
Deep 返回选择的选择和所有子变换。
ExcludePrefab 从选择中排除任何预制件。
Editable 排除任何不得修改的对象。
Assets 仅返回Asset资产目录中的资产对象。
DeepAssets 如果选择包含文件夹,还包括文件层次结构中该文件夹中的所有资源和子文件夹。