欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Unity编辑器扩展——Selection类

程序员文章站 2022-04-01 10:37:23
一: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