示例#1
0
 private void AddCell(IntVec3 c)
 {
     regionGrid.SetRegionAt(c, newReg);
     newRegCells.Add(c);
     if (newReg.extentsClose.minX > c.x)
     {
         newReg.extentsClose.minX = c.x;
     }
     if (newReg.extentsClose.maxX < c.x)
     {
         newReg.extentsClose.maxX = c.x;
     }
     if (newReg.extentsClose.minZ > c.z)
     {
         newReg.extentsClose.minZ = c.z;
     }
     if (newReg.extentsClose.maxZ < c.z)
     {
         newReg.extentsClose.maxZ = c.z;
     }
     if (c.x == 0 || c.x == map.Size.x - 1 || c.z == 0 || c.z == map.Size.z - 1)
     {
         newReg.touchesMapEdge = true;
     }
 }
示例#2
0
 private void AddCell(IntVec3 c)
 {
     regionGrid.SetRegionAt(c, newReg);
     newRegCells.Add(c);
     if (newReg.extentsClose.minX > c.x)
     {
         newReg.extentsClose.minX = c.x;
     }
     if (newReg.extentsClose.maxX < c.x)
     {
         newReg.extentsClose.maxX = c.x;
     }
     if (newReg.extentsClose.minZ > c.z)
     {
         newReg.extentsClose.minZ = c.z;
     }
     if (newReg.extentsClose.maxZ < c.z)
     {
         newReg.extentsClose.maxZ = c.z;
     }
     if (c.x != 0)
     {
         int     x    = c.x;
         IntVec3 size = map.Size;
         if (x != size.x - 1 && c.z != 0)
         {
             int     z     = c.z;
             IntVec3 size2 = map.Size;
             if (z != size2.z - 1)
             {
                 return;
             }
         }
     }
     newReg.touchesMapEdge = true;
 }