版本:Unity 6 (6000.0)
语言英语
  • C#

DragAndDrop.AddDropHandler

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每项更改建议,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

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 处理相应窗口上放置操作的函数。

描述

允许覆盖相应窗口的默认行为。可以在同一个窗口上注册多个处理程序。如果处理程序返回 DragAndDropVisualMode.None,系统将检查下一个处理程序。任何其他结果(DragAndDropVisualMode.Rejected 或其他 DragAndDropVisualMode)表示此处理程序已处理放置事件,并且不会调用其他处理程序。最后一个处理程序是 Unity 的默认处理程序。

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); } }