// create a new node, and then add it to the nextPages list public Node Add( PageType p ) { Node node = new Node(p); _nextPages.Add (node); return node; }
StateMachineData _stateMachineData = new StateMachineData (); // shared data struct, used by all pages to pass data public StateMachine (Node startNode) { // create a new navpage to push the state machine onto, and which then can be popped off at the end _navigationPage = new NavigationPage(); // create the first page of the sequence StateMachinePage p = PageFactory.CreatePage (startNode.pageType, _navigationPage, _stateMachineData, HandleSequenceEnd, HandleCancel ); startNode.CreatePages (p, _navigationPage, _stateMachineData, HandleSequenceEnd, HandleCancel); // start the sequence going ... _navigationPage.PushAsync (p); }
// add an existing node to the nextPages list public Node Add( Node n ) { _nextPages.Add (n); return n; }