예제 #1
0
        public bool MoveNext()
        {
            if (_currentLinkedNode == null)
            {
                _currentLinkedNode = _initialLinkedNode;
                return(true);
            }

            if (_currentLinkedNode.HasNextNode(_side))
            {
                _currentLinkedNode = _currentLinkedNode.GetNextNode(_side);
                return(true);
            }

            return(false);
        }
예제 #2
0
 public void Reset()
 {
     _currentLinkedNode = null;
 }
예제 #3
0
 public NodeSideRunner(TSidesEnum side, LinkedNode <TSidesEnum, TNodeContent> initialLinkedNode)
 {
     _side = side;
     _initialLinkedNode = initialLinkedNode;
     _currentLinkedNode = initialLinkedNode;
 }
예제 #4
0
 public void Dispose()
 {
     _currentLinkedNode = null;
 }
예제 #5
0
 public virtual void SetNextNode(TSidesEnum side, LinkedNode <TSidesEnum, TNodeContent> linkedNode)
 {
     _nodes.Add(side, linkedNode);
 }