1#include "Game/Map/RailGraphIter.hpp"
3RailGraphIter::RailGraphIter(
const RailGraph *pGraph) {
11void RailGraphIter::moveNodeNext() {
12 s32 selected_edge = mSelectedEdge;
15 s32 next_node = edge->getNextNode(_10);
19void RailGraphIter::setNode(s32 a1) {
26void RailGraphIter::watchStartEdge() {
31void RailGraphIter::watchNextEdge() {
33 s32 next_edge = edge->getNextEdge(_4);
34 mNextEdge = next_edge;
37bool RailGraphIter::isWatchEndEdge()
const {
38 return mNextEdge == -1;
41void RailGraphIter::selectEdge() {
42 mSelectedEdge = mNextEdge;
45void RailGraphIter::selectEdge(s32 edge) {
49bool RailGraphIter::isWatchedPrevEdge()
const {
51 return edge->getNextNode(_4) == _10;
54bool RailGraphIter::isSelectedEdge()
const {
55 return mGraph->isValidEdge(mSelectedEdge);
59 return mGraph->getNode(_4);
64 s32 next = edge->getNextNode(_4);
65 return mGraph->getNode(next);
70 s32 next_node = edge->getNextNode(_4);
71 return mGraph->getNode(next_node);
75 return mGraph->getEdge(mSelectedEdge);
79 return mGraph->getEdge(mNextEdge);