Added IExecutable and ISlotContainer interface.
Changed SlotContainerNode to ExecutableNode
This commit is contained in:
@@ -13,14 +13,14 @@ namespace Misaki.GraphView.Sample
|
||||
{
|
||||
}
|
||||
|
||||
public void Execute(ReadOnlyCollection<SlotContainerNode> nodes)
|
||||
public void Execute(ReadOnlyCollection<DataNode> nodes)
|
||||
{
|
||||
_isRunning = true;
|
||||
nodes.ClearAllExecuteFlag();
|
||||
|
||||
foreach (var node in nodes)
|
||||
{
|
||||
if (node is OutputNode outputNode)
|
||||
if (node is Output outputNode)
|
||||
{
|
||||
outputNode.Execute();
|
||||
}
|
||||
|
||||
@@ -7,21 +7,21 @@ namespace Misaki.GraphView.Sample
|
||||
{
|
||||
private readonly List<string> _logs = new ();
|
||||
|
||||
public Action<SlotContainerNode, string, LogType> OnLog { get; set; }
|
||||
public Action<ExecutableNode, string, LogType> OnLog { get; set; }
|
||||
|
||||
public void LogInfo(SlotContainerNode node, string message)
|
||||
public void LogInfo(ExecutableNode node, string message)
|
||||
{
|
||||
_logs.Add($"Log Info from node {node.GetType().Name}: {message}");
|
||||
OnLog?.Invoke(node, message, LogType.Info);
|
||||
}
|
||||
|
||||
public void LogWarning(SlotContainerNode node, string message)
|
||||
public void LogWarning(ExecutableNode node, string message)
|
||||
{
|
||||
_logs.Add($"Log Warning from node {node.GetType().Name}: {message}");
|
||||
OnLog?.Invoke(node, message, LogType.Warning);
|
||||
}
|
||||
|
||||
public void LogError(SlotContainerNode node, string message)
|
||||
public void LogError(ExecutableNode node, string message)
|
||||
{
|
||||
_logs.Add($"Log Error from node {node.GetType().Name}: {message}");
|
||||
OnLog?.Invoke(node, message, LogType.Error);
|
||||
|
||||
@@ -5,7 +5,7 @@ using Misaki.GraphView.Editor;
|
||||
namespace Misaki.GraphView.Sample
|
||||
{
|
||||
[NodeInfo("Add", "Math")]
|
||||
public class AddNode : BackTraceNode
|
||||
public class Add : BackTraceExecutableNode
|
||||
{
|
||||
[NodeInput]
|
||||
#if UNITY_EDITOR
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace Misaki.GraphView.Sample
|
||||
{
|
||||
public abstract class BackTraceNode : SlotContainerNode
|
||||
public abstract class BackTraceExecutableNode : ExecutableNode
|
||||
{
|
||||
protected override void OnPullData(Slot input)
|
||||
{
|
||||
@@ -10,7 +10,10 @@ namespace Misaki.GraphView.Sample
|
||||
}
|
||||
|
||||
var outputNode = GraphObject.GetNode(input.LinkedSlotData[0].nodeID);
|
||||
outputNode.Execute();
|
||||
if (outputNode is IExecutable executable)
|
||||
{
|
||||
executable.Execute();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ using UnityEngine;
|
||||
namespace Misaki.GraphView.Sample
|
||||
{
|
||||
[NodeInfo("Output Node", "Output")]
|
||||
public class OutputNode : BackTraceNode
|
||||
public class Output : BackTraceExecutableNode
|
||||
{
|
||||
[NodeInput]
|
||||
private float _input;
|
||||
Reference in New Issue
Block a user