using Godot;

public abstract class ProgramNode
{
    public ProgramNode nextNode;
    public string DisplayText;
    public string lastExecutionMessage;

    public abstract void Setup(NodeDisplay display);
    public abstract NodeResult Execute(Robot robot, double delta);
    public abstract void ReadParameters(NodeDisplay display);
    public abstract ProgramNode Duplicate();
    public abstract string Save();
}