Added IExecutable and ISlotContainer interface.

Changed SlotContainerNode to ExecutableNode
This commit is contained in:
Misaki
2024-11-05 02:25:15 +09:00
parent 7eec130b39
commit c853994bf5
51 changed files with 443 additions and 400 deletions

View 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);
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 2f48cc433cb042f5b220c4e861a591e7
timeCreated: 1730389082