Changed Slot in RelayNode to ProxySlot;

Changed PullData and PushData from SlotExtension to ISlot;

Added BackTraceExecutableNode;

Removed IExecutable from RelayNode;
This commit is contained in:
Misaki
2024-11-10 12:28:12 +09:00
parent 994297a3f2
commit d3c5968a80
21 changed files with 398 additions and 281 deletions

View File

@@ -1,29 +1,45 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
namespace Misaki.GraphView
{
public interface ISlot
{
/// <summary>
/// The slot data.
/// </summary>
public SlotData SlotData
{
get;
}
/// <summary>
/// The linked slot datas.
/// </summary>
public List<SlotData> LinkedSlotDatas
{
get;
}
/// <summary>
/// Is the slot linked with another slot.
/// </summary>
public bool IsLinked
{
get;
}
/// <summary>
/// The owner of the slot.
/// </summary>
public DataNode Owner
{
get;
}
/// <summary>
/// The data buffer of the slot.
/// </summary>
public object Data
{
get;
@@ -43,6 +59,18 @@ namespace Misaki.GraphView
/// <param name="other"> <see cref="ISlot"/> The slot need to be unlinked </param>
public void Unlink(ISlot other);
/// <summary>
/// Pull data from the linked slot to current slot.
/// </summary>
/// <param name="OnPullData">The action to execute when pulling data.</param>
public void PullData(Action<ISlot> OnPullData);
/// <summary>
/// Push data from the current slot to linked slot.
/// </summary>
/// <param name="OnPushData">The action to execute when pushing data.</param>
public void PushData(Action<ISlot> OnPushData);
/// <summary>
/// Send data to the slot.
/// </summary>