summaryrefslogtreecommitdiff
path: root/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Menu/DragAndDropTool.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-23 13:08:43 +0800
committerchai <chaifix@163.com>2020-10-23 13:08:43 +0800
commitb82da95b5181ac8bbae38efb13e950d5e88a4caa (patch)
tree48a6f3269276484bbc7cfc95f0651f40a2176aa1 /Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Menu/DragAndDropTool.cs
parent917e9e0b320775634dc2e710f7deac74fd0822f0 (diff)
*移动amplify shader editor到third party目录
Diffstat (limited to 'Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Menu/DragAndDropTool.cs')
-rw-r--r--Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Menu/DragAndDropTool.cs47
1 files changed, 47 insertions, 0 deletions
diff --git a/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Menu/DragAndDropTool.cs b/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Menu/DragAndDropTool.cs
new file mode 100644
index 00000000..2da02086
--- /dev/null
+++ b/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Menu/DragAndDropTool.cs
@@ -0,0 +1,47 @@
+// Amplify Shader Editor - Visual Shader Editing Tool
+// Copyright (c) Amplify Creations, Lda <info@amplify.pt>
+
+using UnityEditor;
+using UnityEngine;
+
+namespace AmplifyShaderEditor
+{
+ public class DragAndDropTool
+ {
+ public delegate void OnValidDropObject(params UnityEngine.Object[] draggedObjs );
+ public event OnValidDropObject OnValidDropObjectEvt;
+
+ public void Destroy()
+ {
+ OnValidDropObjectEvt = null;
+ }
+
+ public void TestDragAndDrop( Rect dropArea )
+ {
+ Event currentEvent = Event.current;
+ EventType currentEventType = currentEvent.type;
+
+ switch (currentEventType)
+ {
+ case EventType.DragUpdated:
+ case EventType.DragPerform:
+ {
+
+ if (!dropArea.Contains(currentEvent.mousePosition))
+ return;
+
+ DragAndDrop.visualMode = DragAndDropVisualMode.Copy;
+ if (currentEvent.type == EventType.DragPerform)
+ {
+ DragAndDrop.AcceptDrag();
+ if (OnValidDropObjectEvt != null)
+ {
+ OnValidDropObjectEvt(DragAndDrop.objectReferences);
+ }
+ }
+ }break;
+ case EventType.DragExited:DragAndDrop.PrepareStartDrag();break;
+ }
+ }
+ }
+}