Add NodesConnected and NodesDisconnected events to Visject surface API

This commit is contained in:
Wojciech Figat
2021-11-16 16:38:08 +01:00
parent 4e8cf63f51
commit d102f7f7f8
3 changed files with 41 additions and 9 deletions

View File

@@ -320,6 +320,16 @@ namespace FlaxEditor.Surface
/// </summary>
public event Action<SurfaceNode> NodeBreakpointEdited;
/// <summary>
/// Occurs when two nodes gets connected (via UI).
/// </summary>
public event Action<IConnectionInstigator, IConnectionInstigator> NodesConnected;
/// <summary>
/// Occurs when two nodes gets disconnected (via UI).
/// </summary>
public event Action<IConnectionInstigator, IConnectionInstigator> NodesDisconnected;
/// <summary>
/// Initializes a new instance of the <see cref="VisjectSurface"/> class.
/// </summary>
@@ -934,6 +944,23 @@ namespace FlaxEditor.Surface
NodeDeleted?.Invoke(node);
}
/// <summary>
/// Called when two nodes gets connected (via UI).
/// </summary>
public virtual void OnNodesConnected(IConnectionInstigator a, IConnectionInstigator b)
{
NodesConnected?.Invoke(a, b);
MarkAsEdited();
}
/// <summary>
/// Called when two nodes gets disconnected (via UI).
/// </summary>
public virtual void OnNodesDisconnected(IConnectionInstigator a, IConnectionInstigator b)
{
NodesDisconnected?.Invoke(a, b);
}
/// <inheritdoc />
public override void OnDestroy()
{