Пример #1
0
        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();
        }
Пример #2
0
        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();
        }