Rasagar/Library/PackageCache/com.unity.visualscripting/Editor/VisualScripting.State/Flow/FlowGraphContextStateExtension.cs
2024-08-26 23:07:20 +03:00

26 lines
939 B
C#

namespace Unity.VisualScripting
{
[GraphContextExtension(typeof(FlowGraphContext))]
public sealed class FlowGraphContextStateExtension : GraphContextExtension<FlowGraphContext>
{
public FlowGraphContextStateExtension(FlowGraphContext context) : base(context) { }
public override bool AcceptsDragAndDrop()
{
return DragAndDropUtility.Is<StateGraphAsset>();
}
public override void PerformDragAndDrop()
{
var statemacro = DragAndDropUtility.Get<StateGraphAsset>();
var stateUnit = new StateUnit(statemacro);
context.canvas.AddUnit(stateUnit, DragAndDropUtility.position);
}
public override void DrawDragAndDropPreview()
{
GraphGUI.DrawDragAndDropPreviewLabel(DragAndDropUtility.offsetedPosition, DragAndDropUtility.Get<StateGraphAsset>().name, typeof(StateGraphAsset).Icon());
}
}
}