Maze / Library /PackageCache /com.unity.visualscripting@1.8.0 /Editor /VisualScripting.State /Transitions /FlowStateTransitionWidget.cs
| using UnityEditor; | |
| using UnityEngine; | |
| namespace Unity.VisualScripting | |
| { | |
| [] | |
| public sealed class FlowStateTransitionWidget : NesterStateTransitionWidget<FlowStateTransition>, IDragAndDropHandler | |
| { | |
| public FlowStateTransitionWidget(StateCanvas canvas, FlowStateTransition transition) : base(canvas, transition) { } | |
| public DragAndDropVisualMode dragAndDropVisualMode => DragAndDropVisualMode.Generic; | |
| public bool AcceptsDragAndDrop() | |
| { | |
| return DragAndDropUtility.Is<ScriptGraphAsset>(); | |
| } | |
| public void PerformDragAndDrop() | |
| { | |
| UndoUtility.RecordEditedObject("Drag & Drop Macro"); | |
| transition.nest.source = GraphSource.Macro; | |
| transition.nest.macro = DragAndDropUtility.Get<ScriptGraphAsset>(); | |
| transition.nest.embed = null; | |
| GUI.changed = true; | |
| } | |
| public void UpdateDragAndDrop() | |
| { | |
| } | |
| public void DrawDragAndDropPreview() | |
| { | |
| GraphGUI.DrawDragAndDropPreviewLabel(new Vector2(edgePosition.x, outerPosition.yMax), "Replace with: " + DragAndDropUtility.Get<ScriptGraphAsset>().name, typeof(ScriptGraphAsset).Icon()); | |
| } | |
| public void ExitDragAndDrop() | |
| { | |
| } | |
| } | |
| } | |