A game about forced loneliness, made by TACStudios
1using UnityEditor;
2using UnityEngine;
3
4namespace Unity.VisualScripting
5{
6 [Widget(typeof(StateUnit))]
7 public class StateUnitWidget : NestrerUnitWidget<StateUnit>, IDragAndDropHandler
8 {
9 public StateUnitWidget(FlowCanvas canvas, StateUnit unit) : base(canvas, unit) { }
10
11 public DragAndDropVisualMode dragAndDropVisualMode => DragAndDropVisualMode.Generic;
12
13 public bool AcceptsDragAndDrop()
14 {
15 return DragAndDropUtility.Is<StateGraphAsset>();
16 }
17
18 public void PerformDragAndDrop()
19 {
20 UndoUtility.RecordEditedObject("Drag & Drop Macro");
21 unit.nest.source = GraphSource.Macro;
22 unit.nest.macro = DragAndDropUtility.Get<StateGraphAsset>();
23 unit.nest.embed = null;
24 unit.Define();
25 GUI.changed = true;
26 }
27
28 public void UpdateDragAndDrop()
29 {
30 }
31
32 public void DrawDragAndDropPreview()
33 {
34 GraphGUI.DrawDragAndDropPreviewLabel(new Vector2(edgePosition.x, outerPosition.yMax), "Replace with: " + DragAndDropUtility.Get<StateGraphAsset>().name, typeof(StateGraphAsset).Icon());
35 }
36
37 public void ExitDragAndDrop()
38 {
39 }
40 }
41}