private void FloodConnectedAreas(PortalArea area, int portalAttributeIndex)
{
if(area.ConnectedAreaNumber[portalAttributeIndex] == _connectedAreaNumber)
{
return;
}
area.ConnectedAreaNumber[portalAttributeIndex] = _connectedAreaNumber;
for(Portal p = area.Portals; p != null; p = p.Next)
{
if((p.DoublePortal.BlockingBits & ((PortalConnection) (1 << portalAttributeIndex))) == 0)
{
FloodConnectedAreas(_portalAreas[p.IntoArea], portalAttributeIndex);
}
}
}