public override void Reset()
{
int rectCount=(m_gridRect.maxX-m_gridRect.minX) * (m_gridRect.maxY-m_gridRect.minY);
if (m_nodePool.Nodes.Count > rectCount)
{
GridPos travPos = new GridPos(0, 0);
for (int xTrav = m_gridRect.minX; xTrav <= m_gridRect.maxX; xTrav++)
{
travPos.x = xTrav;
for (int yTrav = m_gridRect.minY; yTrav <= m_gridRect.maxY; yTrav++)
{
travPos.y = yTrav;
Node curNode=m_nodePool.GetNode(travPos);
if (curNode!=null)
curNode.Reset();
}
}
}
else
{
foreach (KeyValuePair<GridPos, Node> keyValue in m_nodePool.Nodes)
{
keyValue.Value.Reset();
}
}
}