Unity编辑器扩展——Selection类
程序员文章站
2024-01-03 12:10:10
一:Selection类通过Selection类可以在编辑器下对选择的物体进行操作二:代码实现using UnityEngine;using UnityEditor;public class SelectionTest : EditorWindow{ [MenuItem("Tool/DebugSelected")] private static void Test() { Debug.Log(Selection.activeObject);//返...
一:Selection类
通过Selection类可以在编辑器下对选择的物体进行操作
二:代码实现
using UnityEngine;
using UnityEditor;
public class SelectionTest : EditorWindow
{
[MenuItem("Tool/DebugSelected")]
private static void Test()
{
Debug.Log(Selection.activeObject);//返回当前在面板上选择的游戏物体Object,未选择则返回Null。可以选择Project文件夹下的任意资源(选择多个则返回第一个选择的游戏物体)
Debug.Log(Selection.activeGameObject);//返回当前在面板上选择的游戏物体GameObject,未选择则返回Null。可以选择Project文件夹下的游戏物体(选择多个则返回第一个选择的游戏物体)
Debug.Log(Selection.activeTransform);//返回当前在面板上选择的游戏物体的Transform,未选择则返回Null(选择多个则返回第一个选择的游戏物体)
Debug.Log(Selection.gameObjects.Length); //返回当前在面板上选择的游戏物体GameObject数组,未选择则返回Null。可以选择Project文件夹下的游戏物体
Debug.Log(Selection.transforms); //返回当前在面板上选择的游戏物体Transform数组,未选择则返回Null
Selection.Contains(Selection.instanceIDs[0]);
Selection.Contains(Selection.gameObjects[0]);
Selection.selectionChanged += OnSelectionChange;//委托,选择的物体变化时调用
}
/// <summary>
/// 选择的物体变化时调用的委托
/// </summary>
private static void OnSelectionChange()
{
Debug.Log("OnSelectionChange");
}
}
本文地址:https://blog.csdn.net/LLLLL__/article/details/110151804