Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
TreeIterator.cs
Go to the documentation of this file.
1namespace System.Xml;
2
3internal sealed class TreeIterator : BaseTreeIterator
4{
5 private readonly XmlNode _nodeTop;
6
8
9 internal override XmlNode CurrentNode => _currentNode;
10
12 : base(((XmlDataDocument)nodeTop.OwnerDocument).Mapper)
13 {
16 }
17
18 internal override bool Next()
19 {
21 if (firstChild != null)
22 {
24 return true;
25 }
26 return NextRight();
27 }
28
29 internal override bool NextRight()
30 {
32 {
33 _currentNode = null;
34 return false;
35 }
37 if (nextSibling != null)
38 {
40 return true;
41 }
43 while (nextSibling != _nodeTop && nextSibling.NextSibling == null)
44 {
46 }
47 if (nextSibling == _nodeTop)
48 {
49 _currentNode = null;
50 return false;
51 }
53 return true;
54 }
55}
readonly XmlNode _nodeTop
override bool Next()
override XmlNode CurrentNode
TreeIterator(XmlNode nodeTop)
override bool NextRight()
virtual ? XmlNode ParentNode
Definition XmlNode.cs:76
virtual ? XmlNode NextSibling
Definition XmlNode.cs:104
virtual ? XmlNode FirstChild
Definition XmlNode.cs:120