博客迁移
个人博客站点,欢迎访问,www.jiingfengji.tech
监听Scene Drag事件
Gif动图展示
目的
通过该监听,获取到被Drag进Scene的物体的类型,可以做一些预处理,例如:Drag一张图片,直接生成一个GameObject(带Image,前提是UGUI)的放在Canvas下
代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class SceneManager
{
[InitializeOnLoadMethod]
static void Init()
{
SceneView.onSceneGUIDelegate += OnSceneGUI;
}
private static void OnSceneGUI(SceneView sceneView)
{
Event e = Event.current;
if(e.type == EventType.DragUpdated || e.type == EventType.DragPerform)
{
DragAndDrop.visualMode = DragAndDropVisualMode.Copy;
if(e.type == EventType.DragPerform)
{
DragAndDrop.AcceptDrag();
for (int i = 0; i < DragAndDrop.objectReferences.Length; i++)
{
Object handleObj = DragAndDrop.objectReferences[i];
if(handleObj != null)
{
Debug.LogError(handleObj.GetType());
}
}
}
}
}
}
以上知识分享,如有错误,欢迎指出,共同学习,共同进步