using Godot; public class MoveNode : ProgramNode { public Vector3 startPosition; public Vector3I targetPosition; public MoveNode() { DisplayText = "Move"; } public override bool Execute(Robot robot) { startPosition = robot.Position; GD.Print(targetPosition); robot.Position = GameData.map[targetPosition.Y].tiles[targetPosition.X, targetPosition.Z].Position; if (nextNode != null) { return nextNode.Execute(robot); } else { return true; } } public override void ReadParameters(NodeDisplay display) { HBoxContainer valueContainer = display.GetNode("./EditorDisplay/HBoxContainer/"); GD.Print(valueContainer.GetNode("./CoordinateX").Value); int posX = (int)valueContainer.GetNode("./CoordinateX").Value; int posY = (int)valueContainer.GetNode("./CoordinateY").Value; int posZ = (int)valueContainer.GetNode("./CoordinateZ").Value; targetPosition = new Vector3I(posX, posY, posZ); } }