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