// Token: 0x060022EF RID: 8943 RVA: 0x001968C8 File Offset: 0x00194AC8
public void FloodFill()
{
NavGraph[] graphs = this.astar.graphs;
if (graphs == null)
{
return;
}
foreach (NavGraph navGraph in graphs)
{
if (navGraph != null)
{
navGraph.GetNodes(delegate(GraphNode node)
{
node.Area = 0U;
});
}
}
this.lastUniqueAreaIndex = 0U;
uint area = 0U;
int forcedSmallAreas = 0;
Stack <GraphNode> stack = StackPool <GraphNode> .Claim();
Action <GraphNode> < > 9__1;
foreach (NavGraph navGraph2 in graphs)
{
if (navGraph2 != null)
{
NavGraph navGraph3 = navGraph2;
Action <GraphNode> action;
if ((action = < > 9__1) == null)
{
action = (< > 9__1 = delegate(GraphNode node)
{
if (node.Walkable && node.Area == 0U)
{
uint area = area;
area += 1U;
uint area2 = area;
if (area > 131071U)
{
area = area;
area -= 1U;
area2 = area;
int forcedSmallAreas;
if (forcedSmallAreas == 0)
{
forcedSmallAreas = 1;
}
forcedSmallAreas = forcedSmallAreas;
forcedSmallAreas++;
}
stack.Clear();
stack.Push(node);
int num = 1;
node.Area = area2;
while (stack.Count > 0)
{
num++;
stack.Pop().FloodFill(stack, area2);
}
}
});
}
navGraph3.GetNodes(action);
}
}
this.lastUniqueAreaIndex = area;
if (forcedSmallAreas > 0)
{
Debug.LogError(string.Concat(new object[]
{
forcedSmallAreas,
" areas had to share IDs. This usually doesn't affect pathfinding in any significant way (you might get 'Searched whole area but could not find target' as a reason for path failure) however some path requests may take longer to calculate (specifically those that fail with the 'Searched whole area' error).The maximum number of areas is ",
131071U,
"."
}));
}
StackPool <GraphNode> .Release(stack);
}