private void UnfogWorker(IntVec3 c) { int num = map.cellIndices.CellToIndex(c); if (fogGrid[num]) { fogGrid[num] = false; if (Current.ProgramState == ProgramState.Playing) { map.mapDrawer.MapMeshDirty(c, MapMeshFlag.FogOfWar); } Designation designation = map.designationManager.DesignationAt(c, DesignationDefOf.Mine); if (designation != null && c.GetFirstMineable(map) == null) { designation.Delete(); } if (Current.ProgramState == ProgramState.Playing) { map.roofGrid.Drawer.SetDirty(); } } }