Version: 2022.3

DragAndDrop.AddDropHandler

切换到手册
public static void AddDropHandler (DragAndDrop.ProjectBrowserDropHandler handler);
public static void AddDropHandler (DragAndDrop.SceneDropHandler handler);
public static void AddDropHandler (DragAndDrop.HierarchyDropHandler handler);
public static void AddDropHandler (DragAndDrop.InspectorDropHandler handler);

参数

handler Function to handle drop on the corresponding window.

描述

Allow override of the default behavior for the corresponding window. Multiple handlers can be registered on the same window. If a handler returns DragAndDropVisualMode.None the system will check the next handler. Any other results (DragAndDropVisualMode.Rejected or others DragAndDropVisualMode) means this handler has processed the drop event and no other handler will be called. The last handler is the default Unity handler.

using UnityEditor;
using UnityEngine;
using System;

static class DragDropSample { static DragAndDropVisualMode ProjectHandler(int id, string path, bool perform) { if (perform) Debug.Log($"Dropped upon {path} {id}"); else Debug.Log($"Dragging upon {path} {id}"); return DragAndDropVisualMode.Move; }

public static void AddDragProjectHandler() { // Add the handler DragAndDrop.AddDropHandler(ProjectHandler); }

public static void RemoveProjectHandler() { // Remove the handler DragAndDrop.RemoveDropHandler(ProjectHandler); } }