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,30 @@
namespace Misaki.GraphView
{
public interface ISlotContainer
{
/// <summary>
/// Add the slot to the container.
/// </summary>
/// <param name="slot"> <see cref="Slot"/> The slot want to add </param>
public void AddSlot(Slot slot);
/// <summary>
/// Remove the slot from the container.
/// </summary>
/// <param name="slot"> <see cref="Slot"/> The slot want to remove </param>
public void RemoveSlot(Slot slot);
/// <summary>
/// Get the slot by the index and direction.
/// </summary>
/// <param name="index"> <see cref="int"/> Index of the slot</param>
/// <param name="direction"> <see cref="SlotDirection"/> Direction of the slot </param>
/// <returns> <see cref="Slot"/> The slot that matches the index and direction </returns>
public Slot GetSlot(int index, SlotDirection direction);
/// <summary>
/// Unlink all the slots of the node.
/// </summary>
public void UnlinkAllSlots();
}
}