public TrackNodeCurve getPreviousCurve(TrackNodeCurve current) { int index = nodes.IndexOf (current); if (index - 1 < 0) { var previousCurve = current.SegmentModify.GetPreviousSegment (true); if (previousCurve != null) return previousCurve.GetLastCurve; } return nodes [index - 1]; }
public TrackNodeCurve getNextCurve(TrackNodeCurve current) { int index = nodes.IndexOf (current); if (index + 1 >= nodes.Count) { var nextSegment = current.SegmentModify.GetNextSegment (true); if (nextSegment != null) return nextSegment.GetFirstCurve; return null; } return nodes [index + 1]; }