It isn't as elegant a solution as I was hoping for but I've used the following to get my needs met:
public static string nodeNext = "Next node";
public static string inserStr = "\nSelect insertion point:";
JigPromptPointOptions opts = new JigPromptPointOptions(inserStr);
opts.BasePoint = new Point3d(0, 0, 0);
opts.UserInputControls = UserInputControls.NoZeroResponseAccepted;
opts.AppendKeywordsToMessage = true;
opts.Keywords.Add(nodeNext);
PromptResult selPt;
do
{
BlockJig myJig = new BlockJig(tr, br2d, attInfo, nodePoints[nodePtCntr]);
AcApSrvApp.DocumentManager.MdiActiveDocument.Editor.WriteMessage(nodePtCntr.ToString());
selPt = myJig.Run();
if (selPt.Status == PromptStatus.Keyword)
{
if (selPt.StringResult == nodeNext)
{
nodePtCntr++;
if (nodePtCntr == nodePoints.Count)
nodePtCntr = 0;
}
}
else if (selPt.Status != PromptStatus.OK)
return;
} while (selPt.Status != PromptStatus.OK);
tr.Commit();