暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

FlowStateTransitionWidget.cs 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using UnityEditor;
  2. using UnityEngine;
  3. namespace Unity.VisualScripting
  4. {
  5. [Widget(typeof(FlowStateTransition))]
  6. public sealed class FlowStateTransitionWidget : NesterStateTransitionWidget<FlowStateTransition>, IDragAndDropHandler
  7. {
  8. public FlowStateTransitionWidget(StateCanvas canvas, FlowStateTransition transition) : base(canvas, transition) { }
  9. #region Drag & Drop
  10. public DragAndDropVisualMode dragAndDropVisualMode => DragAndDropVisualMode.Generic;
  11. public bool AcceptsDragAndDrop()
  12. {
  13. return DragAndDropUtility.Is<ScriptGraphAsset>();
  14. }
  15. public void PerformDragAndDrop()
  16. {
  17. UndoUtility.RecordEditedObject("Drag & Drop Macro");
  18. transition.nest.source = GraphSource.Macro;
  19. transition.nest.macro = DragAndDropUtility.Get<ScriptGraphAsset>();
  20. transition.nest.embed = null;
  21. GUI.changed = true;
  22. }
  23. public void UpdateDragAndDrop()
  24. {
  25. }
  26. public void DrawDragAndDropPreview()
  27. {
  28. GraphGUI.DrawDragAndDropPreviewLabel(new Vector2(edgePosition.x, outerPosition.yMax), "Replace with: " + DragAndDropUtility.Get<ScriptGraphAsset>().name, typeof(ScriptGraphAsset).Icon());
  29. }
  30. public void ExitDragAndDrop()
  31. {
  32. }
  33. #endregion
  34. }
  35. }