private void RegisterThingsInRegionListers() { CellRect cellRect = this.newReg.extentsClose; cellRect = cellRect.ExpandedBy(1); cellRect.ClipInsideMap(this.map); RegionMaker.tmpProcessedThings.Clear(); CellRect.CellRectIterator iterator = cellRect.GetIterator(); while (!iterator.Done()) { IntVec3 current = iterator.Current; bool flag = false; for (int i = 0; i < 9; i++) { IntVec3 c = current + GenAdj.AdjacentCellsAndInside[i]; if (c.InBounds(this.map) && this.regionGrid.GetValidRegionAt(c) == this.newReg) { flag = true; break; } } if (flag) { RegionListersUpdater.RegisterAllAt(current, this.map, RegionMaker.tmpProcessedThings); } iterator.MoveNext(); } RegionMaker.tmpProcessedThings.Clear(); }
private void RegisterThingsInRegionListers() { CellRect extentsClose = newReg.extentsClose; extentsClose = extentsClose.ExpandedBy(1); extentsClose.ClipInsideMap(map); tmpProcessedThings.Clear(); foreach (IntVec3 item in extentsClose) { bool flag = false; for (int i = 0; i < 9; i++) { IntVec3 c = item + GenAdj.AdjacentCellsAndInside[i]; if (c.InBounds(map) && regionGrid.GetValidRegionAt(c) == newReg) { flag = true; break; } } if (flag) { RegionListersUpdater.RegisterAllAt(item, map, tmpProcessedThings); } } tmpProcessedThings.Clear(); }