private bool IsGoodExitCell(IntVec3 cell) { if (!cell.CanBeSeenOver(this.map)) { return(false); } int num = GenRadial.NumCellsInRadius(2f); for (int i = 0; i < num; i++) { IntVec3 intVec = cell + GenRadial.RadialPattern[i]; if (intVec.InBounds(this.map) && intVec.OnEdge(this.map) && intVec.CanBeSeenOverFast(this.map) && GenSight.LineOfSight(cell, intVec, this.map, false, null, 0, 0)) { return(true); } } return(false); }