Added IExecutable and ISlotContainer interface.
Changed SlotContainerNode to ExecutableNode
This commit is contained in:
54
Editor/Views/BaseClasses/GraphSubWindow.cs
Normal file
54
Editor/Views/BaseClasses/GraphSubWindow.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
using UnityEditor.Experimental.GraphView;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UIElements;
|
||||
|
||||
namespace Misaki.GraphView.Editor
|
||||
{
|
||||
public abstract class GraphSubWindow : GraphElement
|
||||
{
|
||||
private readonly VisualElement _contentContainer = new();
|
||||
|
||||
private readonly Dragger _dragger = new();
|
||||
private readonly ResizableElement _resizableElement = new();
|
||||
|
||||
protected GraphSubWindow()
|
||||
{
|
||||
style.position = Position.Absolute;
|
||||
style.marginBottom = 0;
|
||||
style.marginTop = 0;
|
||||
style.marginLeft = 0;
|
||||
style.marginRight = 0;
|
||||
style.paddingBottom = 0;
|
||||
style.paddingTop = 0;
|
||||
style.paddingLeft = 0;
|
||||
style.paddingRight = 0;
|
||||
|
||||
_contentContainer.style.flexGrow = 1;
|
||||
_contentContainer.pickingMode = PickingMode.Ignore;
|
||||
|
||||
capabilities = Capabilities.Movable | Capabilities.Resizable;
|
||||
|
||||
_dragger.clampToParentEdges = true;
|
||||
|
||||
hierarchy.Add(_contentContainer);
|
||||
hierarchy.Add(_resizableElement);
|
||||
|
||||
this.AddManipulator(_dragger);
|
||||
}
|
||||
|
||||
public override VisualElement contentContainer => _contentContainer;
|
||||
|
||||
public override void SetPosition(Rect rect)
|
||||
{
|
||||
style.left = rect.x;
|
||||
style.top = rect.y;
|
||||
style.width = rect.width;
|
||||
style.height = rect.height;
|
||||
}
|
||||
|
||||
public override Rect GetPosition()
|
||||
{
|
||||
return new Rect(resolvedStyle.left, resolvedStyle.top, resolvedStyle.width, resolvedStyle.height);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user