轻松选中重叠ngui和ugui对象的编辑器拓展

最近看到一篇文章,内容是一个可从层层堆叠的ugui对象轻松选中想要对象的编辑器拓展,因为最近改ui有点多,就记了下来,并改了个ngui版本
ugui版本:

using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEngine;
using UnityEngine.SceneManagement;
 
[InitializeOnLoad]
public static class SceneViewContextMenu
{
    private static Vector3[] corners = new Vector3[ 4 ];
 
    static SceneViewContextMenu()
    {
        SceneView.duringSceneGui+= OnSceneGUI;
    }
 
    private static void OnSceneGUI( SceneView sceneView )
    {
        var e = Event.current;
 
        if ( e == null ) return;
        if ( e.type != EventType.MouseUp ) return;
        if ( e.button != 1 ) return;
 
        e.Use();
 
        ShowSpriteSelectionMenu( e.mousePosition );
    }
 
    private static void ShowSpriteSelectionMenu( Vector2 screenPos )
    {
        var groups = SceneViewRaycast( screenPos )
            .GroupBy( c => c.game

你可能感兴趣的:(unity3d,编辑器)