Code/Nodes/Core/Display.cs
namespace Nodebox.Nodes {
[Description("Outputs a value of your choosing")]
[Tag("Core")]
[ExecutionContext.Writer]
[UI.Panel(typeof(UI.Display))]
public class Display : Node {
public override (List<Pin> In, List<Pin> Out) InitialPins => (
[
Pin.New<object>()
],
[]
);
public Display() : base() { }
}
}
namespace Nodebox.Execution {
using Nodebox.Nodes;
using static ExecutionContext;
public class DisplayImplementation : Implementation {
const string Key = $"{nameof(ExecutionContext)}.{nameof(Display)}";
public override Type Target => typeof(Display);
public override void Evaluate(ExecutionContext context, Node node) {
var io = context.Store[node];
node.Meta[Key] = io.GetInput<object>(0);
node.MakeDirty();
}
public static object GetValue(Node node) => node?.Meta?.GetValueOrDefault(Key, null);
}
}